██████╗ ███████╗████████╗██╗██████╗ ███████╗██████╗ ██╗ █████╗
██╔══██╗██╔════╝╚══██╔══╝██║██╔══██╗██╔════╝██╔══██╗██║██╔══██╗
██████╔╝█████╗ ██║ ██║██████╔╝█████╗ ██║ ██║██║███████║
██╔══██╗██╔══╝ ██║ ██║██╔═══╝ ██╔══╝ ██║ ██║██║██╔══██║
██║ ██║███████╗ ██║ ██║██║ ███████╗██████╔╝██║██║ ██║
╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═╝╚═╝ ╚══════╝╚═════╝ ╚═╝╚═╝ ╚═╝
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Zilog Z80
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
Lo mwdqZilog Z80 è un mwdgmicroprocessore ad mwdw8 bit con un design interno della mweaALU a 4 bit ma capace di operazioni a 8 e 16 bitcite-ref-conf-z80-1-0[1] progettato dalla mwfqZilog di mwfgFederico Faggin e commercializzato a partire dal luglio del 1976. Lo Z80, con i suoi derivati e i suoi cloni, è una delle famiglie di mwfwCPU più impiegate di tutti i tempi.cite-ref-diffusione-2-0[2]
È stato largamente utilizzato in numerosi sistemi, negli mwhqhome computer, nei mwhgvideogiochi arcade, nelle mwhwconsole, nei mwiasistemi embedded ed anche in quelli militari;cite-ref-usomilitare-3-0[3] insieme alla famiglia di CPU basate sul mwjqMOS 6502 ha dominato il mercato dei mwjgmicrocomputer e delle mwjwconsole giochi ad 8 bit di fine mwkaanni settanta e quello degli mwkqhome computer dei primi mwkganni ottanta.cite-ref-longley-4-0[4]
Zilog provò anche a commercializzare delle versioni per mwmaminicomputer dell'architettura Z80, lo mwmqZ800 e lo mwmgZ280, che però non riscossero il successo del loro predecessore: il primo fu abbandonato ancor prima della sua commercializzazione,cite-ref-eetimes-5-0[5] mentre la complessità ed i bug del secondo ne limitarono la diffusione a vantaggio di altri prodotti, fra cui l'mwnwHitachi mwoaHD64180 e lo mwoqZilog Z180.cite-ref-eetimes3-6-0[6]
Contents
• Storia
• Cloni
• Derivati
• Impiego
• Note
• Testi
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Storia
mwtwFederico Faggin, dopo aver lavorato sull'mwua8080, lasciò mwuqIntel alla fine del mwug1974 per divergenze con la dirigenza: questa, infatti, era ancora troppo focalizzata sulla produzione di chip di memoria e considerava i microprocessori solo come prodotti accessori, utili per vendere più RAM.cite-ref-faggin-1-9-0[9] Faggin, invece, intravedeva in essi una potenzialità d'impiego molto più vasta, grazie alla loro possibilità di essere programmati per impieghi generali. Faggin decise quindi di lasciare Intel per fondare insieme al suo collega mwvwRalph Ungermann la Zilog, una società dedita esclusivamente alla produzione di CPU.cite-ref-faggin-2-10-0[10] Il primo prodotto della società fu proprio lo Z80, nato da un progetto che Faggin elaborò verso la fine del 1974,cite-ref-faggin-3-11-0[11] presentato nel luglio del 1976.cite-ref-anderson-12-0[12]
Lo Z80 si diffuse nel mercato dei processori molto più dell'Intel 8080 e del suo successore, l'mwzq8085cite-ref-13[13] e divenne una delle CPU ad 8 bit più popolari.cite-ref-popularity-14-0[14]cite-ref-15[15] Uno dei fattori chiave del successo iniziale dello Z80 furono i sistemi integrati nel chip stesso, come quello per il refresh della memoria DRAM: tale integrazione permetteva di realizzare sistemi completi con l'aggiunta di pochi altri componenti esterni di supporto (più in là comparvero sistemi embedded basati sullo Z80, che in genere utilizzano mwcgmemorie statiche, che non necessitano di questo mwcwrefresh) ed aprendo la via verso i moderni "System On Chip".
La Zilog concesse in licenza senza mwdqroyalty la proprietà intellettuale del progetto del mwdgcore dello Z80 a qualunque società lo avesse voluto produrre in proprio: questa politica commerciale alla lunga ripagò Zilog con un ritorno di immagine, diffusione e vendite perché permise ad un prodotto di una piccola società, quale essa era, di affermarsi sul mercato mondiale grazie al fatto che grossi produttori come mwdwToshiba iniziarono a produrre in quantità industriali il processore.cite-ref-newscientist-16-0[16] Come conseguenza di questa scelta commerciale, Zilog ha prodotto meno del 50% di tutti gli Z80 costruiti in questi anni.cite-ref-newscientist-16-1[16] Nonostante ciò diversi produttori dell'mwgaEuropa dell'Est,cite-ref-usomilitare-3-1[3] del mwhqGiapponecite-ref-newscientist-16-2[16] e dell'ex mwigUnione Sovieticacite-ref-urssz80clone-17-0[17] fabbricarono delle copie della CPU senza licenza.
Descrizione tecnica
Il mwlgset di istruzioni dello Z80 fu scritto per essere compatibile con l'Intel 8080,cite-ref-anderson-12-1[12]cite-ref-brock-18-0[18] per cui gran parte del codice per l'8080 (principalmente quello del mwnwsistema operativo mwoaCP/M) poteva girare senza modifiche sullo Z80. mwoqMasatoshi Shima (co-progettista dell'mwogIntel 4004 e dell'Intel 8080) contribuì allo sviluppo dello Z80.cite-ref-19[19]
Lo Z80 offriva le seguenti migliorie rispetto all'8080:cite-ref-brock-18-1[18]
• un mwrginsieme di istruzioni più completo,cite-ref-mathur-20-0[20] incluse quelle per la manipolazione dei bit, lo spostamento dei blocchi di dati, l'mwswI/O e le istruzioni per la ricerca dei mwtabyte;cite-ref-21[21]
• nuovi mwugregistri indice IX e IY, con le relative istruzioni;
• un mwvasistema di interrupt vettorizzati maggiormente automatizzato e generalizzato, operante in 3 modalità: il mwvqmodo 2 gestiva una modalità vettorizzata indiretta, il mwvgmodo 1 prevedeva una modalità diretta, valida per sistemi semplici con hardware minimale, mentre il mwvwmodo 0 indicava la modalità compatibile 8080.cite-ref-interruptmodes-22-0[22]
• due banchi di registri separati, che possono essere velocemente invertiti, per velocizzare la risposta agli mwxqinterrupt;
• necessità di meno hardware per l'alimentazione, la generazione del mwxwclock, l'interfaccia di memoria e l'I/O:
• richiesta di 1 singola alimentazione a 5 mwygV (l'8080 necessita di 3 alimentazioni, rispettivamente a -5mwyw V, +5mwza V e +12mwzq V)
• clock a 5mwzw V a singola fase (l'8080 necessita di un generatore di clock a due fasi di grande ampiezza);
• un meccanismo integrato per il mw0qrefresh della mw0gmemoria ad accesso diretto che altrimenti doveva essere fornito da una circuiteria esterna;
• mw1abus dati non mw1qmultiplato (l'8080 ha nel bus dati un sistema multiplato di segnali di stato);
• un prezzo più basso.
Il progetto originale in mw2alogica NMOS vide il limite massimo della frequenza del clock crescere progressivamente dai 2,5mw2q mw2gMHz iniziali fino ai 4mw2w MHz dello Z80A, ai 6mw3a MHz dello Z80B ed agli 8mw3q MHz dello Z80H.cite-ref-23[23]cite-ref-24[24] Ne fu realizzata anche una versione mw5gCMOS con un intervallo di frequenze che andava dai 4mw5w MHz fino ai 20mw6a MHz delle versioni vendute più recentemente.cite-ref-cpuworld-25-0[25]cite-ref-z80pdf-26-0[26] La versione CMOS permetteva inoltre una mw8qmodalità d'attesa a basso consumo energetico denominata "Power-Down", o "modalità standby", in cui veniva mantenuto lo stato interno (registri e segnali di controllo) del processore fino al ricevimento del segnale di uscita da tale stato (un segnale di clock).cite-ref-z80pdf-26-1[26] I chip derivati compatibili con lo Z80, l'mw9gHD64180/mw9wZ180cite-ref-27[27]cite-ref-28[28] e l'mwaqaeZ80 sono dichiarati capaci rispettivamente di 33mwaqe MHz e 50mwaqi MHz.
Modello di programmazione e gestione dei registri
Il modello di programmazione e la gestione dei registri sono convenzionali e simili a quelli della famiglia mwaqux86. I registri AF, BC, DE e HL, compatibili con quelli dell'Intel 8080, sono duplicati nello Z80 in 2 banchi separaticite-ref-29[29] con il processore che può velocemente passare da un banco all'altro,cite-ref-30[30] una caratteristica utile per velocizzare la risposta agli interrupt ad alta priorità e livello singolo. Questa caratteristica era presente nel mwaq4Datapoint 2200, mentre non era implementata nell'Intel 8008. Il sistema dei registri doppi aveva senso sullo Z80 (e su altri microprocessori dell'epoca), perché esso era stato progettato anche per i sistemi embedded, non solo per i mwaq8personal computer o per gli mwarahome computer.cite-ref-shima-31-0[31] I doppi registri risultarono molto utili per la codifica mwaruassembly altamente ottimizzata: alcuni software, specialmente i giochi per i sistemi mwaryMSX, gli mwarcZX Spectrum ed altri computer basati sullo Z80, portarono l'ottimizzazione dell'assembly dello Z80 a livelli estremi, impiegando, tra le altre cose, proprio i registri duplicati.
Registri
Come sull'8080, i registri ad 8 bit sono di solito accoppiati per ottenerne delle versioni a 16 bit. I registri compatibili con quelli dell'8080 sono:cite-ref-esd-32-0[32]
• AF - (8 bit) mwasqaccumulatore (A) e bit di flag (F) per resto, zero, segno meno, parità/overflow, semi-riporto (usato per mwasucodifica decimale), ed un flag Aggiungi/Sottrai (normalmente chiamato N), anch'esso per la codifica decimale;
• BC - (16 bit) registro dati/indirizzo oppure 2 registri ad 8 bit;
• DE - (16 bit) registro dati/indirizzo oppure 2 registri ad 8 bit;
• HL - (16 bit) registro accumulatore/indirizzo a 16 bit oppure 2 registri ad 8 bit;
• SP - (16 bit) mwasopuntatore stack;
• PC - (16 bit) mwaswcontatore di programma.
I nuovi registri introdotti dallo Z80 sono:
• IX - (16 bit) registro indice o di base per mwataoffset ad 8 bit immediati o accumulatore a 16 bit;
• IY - (16 bit) registro indice o di base per mwatioffset ad 8 bit immediati o accumulatore a 16 bit;
• I - (8 bit) registro base per gli interrupt vettoriali;
• R - (8 bit) contatore per refresh della DRAM (il mwatubit più significativo non conta);
• AFmwatc' - accumulatore alternativo (od "ombra") e flag (mwatgattivati e disattivati con EX AF,AFmwatk');
• BCmwats', DEmwatw' e HLmwat0' - registri alternativi (od "ombra") e flag (mwat4attivati o disattivati con EXX);
• 4 bit per lo stato degli interrupt e le modalità degli interrupt.
Non c'è la possibilità di accedere mwauedirettamente ai registri alternativi: esistono per questo compito 2 istruzioni speciali, mwauiEX AF,AF' e mwaumEXX,cite-ref-esd-32-1[32] ognuna delle quali modifica 1 di 2 multiplatori mwaugflip-flop. Questo permette passaggi veloci di contesto per le routine di servizio degli interrupt: mwaukEX AF, AF' può essere utilizzata da sola (per routine di interrupt molto semplici e veloci) o in abbinamento a mwauoEXX per invertire l'intero gruppo di registri AF, BC, DE e HL, un modo di operare molto più veloce di quello basato sull'inserimento degli stessi registri nello stack (interrupt con più livelli o interrupt lenti e con bassa priorità normalmente utilizzano lo stack per memorizzare il valore dei registri).
Il mwauwregistro di refresh ("mwau0R") viene incrementatocite-ref-33[33] ogni volta che la CPU esegue un mwaviopcode (o un prefisso opcode) e non ha pertanto una relazione semplice con l'esecuzione del programma. Questo modo di operare era spesso usato per generare mwavmnumeri pseudo-casuali nei giochi, ma anche in schemi di protezione software. Era anche utilizzato come contatore "hardware" in alcuni sistemi: un famoso esempio di questo utilizzo è il mwavqSinclair ZX81, che permette di tenere traccia delle posizioni dei caratteri sullo schermo TV innescando un interrupt al verificarsi della reinizializzazione (collegando l'interrupt ad A6).
Il mwavyregistro vettoriale di interrupt ("mwavcI") è usato per gli interrupt dello Z80 specificati con modalità 2 (selezionata dall'istruzione mwavgIM 2). Esso fornisce l'indirizzo di base della pagina (il "byte alto") per la tabella a 128 voci degli indirizzi degli interrupt di servizio che sono selezionati tramite un puntatore (il "byte basso" dell'indirizzo) inviato alla CPU durante un ciclo di riconoscimento degli interrupt.cite-ref-interruptmodes-22-1[22] Il puntatore identifica un particolare chip periferico e/o una funzione di un chip periferico (nel caso in cui un chip periferico possa sollevare più interrupt, come ad esempio il CTC), dove i chip sono normalmente connessi a cascata per la risoluzione della priorità. Come per quello di mwav0refresh, questo registro è stato talvolta utilizzato in maniera "creativa".
La ALU a 4 bit
La mwawaALU, o "Arithmetic-Unit Logic", è il modulo integrato in una CPU deputato all'esecuzione dei calcoli aritmetico/logici. A differenza di altre CPU contemporanee (come il MOS 6502 o l'Intel 8080) la ALU dello Z80 è a 4 bit, vale a dire che esegue calcoli su numeri di 4 bit, o mwawemwawinibble. Siccome l'accumulatore della CPU è a 8 bit, per eseguire un calcolo su un numero contenuto nell'accumulatore la ALU dello Z80 deve eseguire due passaggi su tale registro. Per far sì che questo non incida sulle prestazioni della CPU, i progettisti dello Z80 hanno pensato ad un sistema di cicli interni divisi in "cicli macchina", o "cicli M" (dall'inglese M-cycle), in cui ogni ciclo M è composto da più "cicli di clock", o "stati T" (dall'inglese T-state), dove uno stato T è equivalente ad un ciclo di clock,cite-ref-34[34], ed ottimizzando le istruzioni affinché la CPU sia in grado di eseguire un minimo di sovrapposizione delle operazioni delle singole istruzioni: questo processo è detto "fetch/execute overlapping" e permette di continuare l'esecuzione di una istruzione mentre la CPU sta leggendo dalla memoria l'opcode di quella successiva. Ad esempio, l'istruzione mwawcSUB r, che sottrae dall'accumulatore il valore contenuto nel registro ad 8 bit indicato da "r", viene eseguito in 1 ciclo M composto da 4 cicli di clock. L'esecuzione di questa istruzione più essere divisa nei seguenti singoli passaggi:
ISTRUZIONE CORRENTE "N" (SUB r)
M1 / T1 : viene impostato l'indirizzo da cui leggere l'istruzione "N" da eseguire
M1 / T2 : viene recuperata dalla memoria l'istruzione "N"
M1 / T3 : viene interpretato l'opcode come "SUB r": A viene caricato sul latch temporaneo "ACU" (*)
M1 / T4 : viene caricato il registro "r" nel latch temporaneo "TEMP" (*)
-------------
ISTRUZIONE SUCCESSIVA "N+1"
M1 / T1 : viene impostato l'indirizzo da cui leggere l'istruzione "N+1" da eseguire
contemporaneamente il nibble basso della precedente operazione viene calcolato
M1 / T2 : viene recuperata dalla memoria l'istruzione "N+1"
contemporaneamente viene calcolato il nibble alto della precedente operazione
ed il risultato viene ricomposto come valore ad 8 bit e depositato nell'accumulatore
• mwawsmwawwvedere figura relativa all'architettura interna della CPU
In tale modo lo Z80 non manifesta rallentamenti rispetto ad una CPU con una ALU interamente ad 8 bit. Ciò è anche possibile grazie al fatto che il recupero dell'istruzione dalla memoria viene sempre eseguito durante i primi stati "T" del primo ciclo M (detto M1) di una istruzione.cite-ref-conf-z80-1-1[1]cite-ref-z80-alu-35-0[35]cite-ref-z80-alu-4-bit-36-0[36]cite-ref-z80-archi-37-0[37]
Il linguaggio assembly dello Z80
Una retrospettiva - Il Datapoint 2200 e l'Intel 8008
Il linguaggio mwayeassembly del primo mwayiIntel 8008 era basato su una sintassi molto semplice (ma schematica), derivata dall'architettura del mwaymDatapoint 2200; questa sintassi fu poi trasformata in un nuovo linguaggio assembly dedicato al chip 8008; il nuovo linguaggio assembly fu poi esteso, quasi nello stesso periodo, per adattarsi alle aggiunte possibilità di indirizzamento offerte dal più evoluto chip Intel 8080 (l'8008 e l'8080 condividevano un linguaggio senza che fossero compatibili a livello di codice binario; l'8008 era invece compatibile a livello binario con il Datapoint 2200).
In questo processo di trasformazione, l'abbreviazione mnemonica "L", che stava per mwayuLOAD, fu sostituita dalle parole mwayyLOAD, mwaycSTORE e mwaygMOVE, a cui erano state aggiunte altre lettere simboliche. La lettera "M", per mwaykMemory (referenziata da HL), fu trasformata da abbreviazione mnemonica a mwayooperando indipendente sintatticamente, mentre i registri e le combinazioni di registri furono indicati in maniera molto inconsistente, sia abbreviando gli operandi (ad esempio "MVI D" e "LXI H") sia usando le stesse forme mnemoniche delle istruzioni (ad esempio "LDA" e "LHLD") sia usando entrambi gli schemi contemporaneamente (ad esempio "LDAX B" e "STAX D").
| Datapoint 2200 & i8008 | i8080 | Z80 | i8086/i8088 |
|---|---|---|---|
| ca. 1973 | ca. 1974 | 1976 | 1978 |
| LBC | MOV B,C | LD B,C | MOV BL,CL |
| -- | LDAX B | LD A,(BC) | MOV AL,[BX] |
| LAM | MOV A,M | LD A,(HL) | MOV AL,[BP] |
| LBM | MOV B,M | LD B,(HL) | MOV BL,[BP] |
| -- | STAX D | LD (DE),A | MOV [DX],AL |
| LMA | MOV M,A | LD (HL),A | MOV [BP],AL |
| LMC | MOV M,C | LD (HL),C | MOV [BP],CL |
| LDI 56 | MVI D,56 | LD D,56 | MOV DL,56 |
| LMI 56 | MVI M,56 | LD (HL),56 | MOV byte ptr [BP],56 |
| -- | LDA 1234 | LD A,(1234) | MOV AL,[1234] |
| -- | STA 1234 | LD (1234),A | MOV [1234],AL |
| -- | -- | LD B,(IX+56) | MOV BL,[SI+56] |
| -- | -- | LD (IX+56),C | MOV [SI+56],CL |
| -- | -- | LD (IY+56),78 | MOV byte ptr [DI+56],78 |
| -- | LXI B,1234 | LD BC,1234 | MOV BX,1234 |
| -- | LXI H,1234 | LD HL,1234 | MOV BP,1234 |
| -- | SHLD 1234 | LD (1234),HL | MOV [1234],BP |
| -- | LHLD 1234 | LD HL,(1234) | MOV BP,[1234] |
| -- | -- | LD BC,(1234) | MOV BX,[1234] |
| -- | -- | LD IX,(1234) | MOV SI,[1234] |
mwak0Tabella di 4 sintassi che usano esempi di istruzioni di LOAD e STORE equivalenti o (per l'8086) molto simili.cite-ref-38[38]
La nuova sintassi
Intel dichiarò che i codici mnemonici del suo assembly erano brevettati. Fu perciò sviluppata una nuova sintassi, questa volta con un approccio più semantico:
• tutti i registri e le coppie di registri venivano indicati esplicitamente con i loro nomi interi;
• le parentesi tonde "()" venivano utilizzate coerentemente per indicare "contenuto di memoria a" (puntatore non referenziato), con l'eccezione di alcune istruzioni di salto;cite-ref-39[39]
• Tutte le istruzioni "load" e "store" usavano lo stesso codice mnemonico, mwalwLD per LOAD (un ritorno al vocabolario semplicistico del Datapoint 2200); altre istruzioni di uso comune (come mwal0ADD e mwal4INC) usavano lo stesso codice mnemonico, indipendentemente dal modo di indirizzamento o dalla dimensione dell'operando (ciò era possibile perché gli stessi operandi contenevano in sé abbastanza informazioni).
Queste linee guida resero semplice il compito di trovare i nomi e la sintassi di tutte le nuove istruzioni dello Z80, così come il riadattamento delle vecchie (ad esempio "mwamaLD BC,(1234)" espresso più sopra).
Dalla tabella si nota anche la somiglianza tra la sintassi dello Z80 e quella dell'mwamiIntel 8086. A parte la differenza di nomenclatura, e a dispetto di una certa discrepanza nella struttura base dei registri, le due sintassi sono virtualmente mwammisomorfe per una larga porzione di istruzioni. Non è però certo se questa somiglianza sia dovuta alle comuni influenze avute su entrambi i gruppi di progettazione dalle CPU ante Intel 8080 (come il mwamqPDP-11), alla natura competitiva della relazione fra i due progetti o ad una questione di scelte.cite-ref-40[40]cite-ref-41[41]
Istruzioni e codifica
Lo Z80 utilizza 252 dei 256 codici disponibili come singoli byte opcode ("mwam8root instructions", "istruzioni base"); i 4 codici rimanenti sono utilizzati estesamente come prefissi opcode:cite-ref-instructions-42-0[42] mwanqCB e mwanuED abilitano delle istruzioni aggiuntive, e mwanyDD e mwancFD selezionano rispettivamente "IX+d" e "IY+d" (in alcuni casi senza utilizzare "d") al posto di HL. Questo schema dà allo Z80 un elevato numero di permutazioni di istruzioni e registri; Zilog le inquadrò in 158 differenti "tipi di istruzioni", 78 delle quali sono le stesse di quelle dell'8080,cite-ref-instructions-42-1[42] permettendo l'esecuzione dei programmi 8080 sullo Z80.
La documentazione di Zilog raggruppa inoltre le istruzioni nelle seguenti categorie:
• operazioni aritmetiche e logiche ad 8 bit;
• operazioni aritmetiche a 16 bit;
• operazioni di caricamento ad 8 bit;
• operazioni di caricamento a 16 bit;
• operazioni sui bit (inserimento di valore 1, 0 o di test);
• operazioni di chiamata e ritorno da sottoprogrammi e riavvio da indirizzi predefiniti (restart);
• operazioni di scambio, trasferimento e ricerca dei blocchi;
• operazioni di controllo CPU e aritmetica semplice;
• operazioni di gestione dell'input/output;
• operazioni di salto;
• operazioni di rotazione e scorrimento dei bit;
Come su altri processori dell'epoca, nessuna istruzione di moltiplicazione è disponibile nell'originale Z80.cite-ref-43[43] Le differenti dimensioni e le varianti delle operazioni di addizione, spostamento e rotazione dei bit avevano anche differenti effetti sui flag, a causa delle proprietà di influenza sui flag copiate dall'8080. Le istruzioni di caricamento non influenzavano i flag (tranne nei casi di caricamento negli speciali registri I e R). Le istruzioni sui registri indice erano utili per ridurre la dimensione del codice e, anche se alcune di esse non erano molto più veloci delle "equivalenti" sequenze composte dalle semplici operazioni, esse permettevano di ridurre indirettamente il tempo di esecuzione, diminuendo il numero di istruzioni necessarie per salvare e ripristinare i registri.cite-ref-44[44]cite-ref-45[45] Similarmente, le istruzioni per le addizioni a 16 bit non erano particolarmente veloci nell'originale Z80 (11 cicli); comunque esse erano circa due volte più veloci se paragonate alle operazioni ad 8 bit alle prese con gli stessi calcoli e inoltre riducevano l'utilizzo dei registri.
Istruzioni non documentate
I registri indice IX e IY erano stati pensati come puntatori a 16 bit flessibili per migliorare l'abilità di manipolare la memoria, le strutture di dati e gli stack. Ufficialmente essi erano gestiti solo come registri a 16 bit, ma in realtà erano implementati come una coppia di registri ad 8 bit,cite-ref-46[46] alla stessa maniera del registro HL, che era accessibile sia integralmente a 16 bit sia nei suoi singoli registri ad 8 bit "mwapwHigh" e "mwap0Low". Ugualmente i codici opcode (linguaggio macchina) erano identici ma preceduti da un nuovo prefisso opcode.cite-ref-undocz80-47-0[47]
Zilog pubblicò gli opcode ed i relativi codici mnemonici per le funzioni illustrate, ma non documentò il fatto che ogni opcode che permetteva la manipolazione dei registri H e L era ugualmente valido per le porzioni ad 8 bit dei registri IX e IY. Un esempio è l'opcode 26h seguito immediatamente da un byte (mwaqmLD H,n), che caricherà quel valore nel registro H. Precedendo questa istruzione a 2 byte con il prefisso opcode per il registro IX si avrà il caricamento di quel valore negli 8 bit più significativi del registro IX. Un'importante eccezione a questo modo di operare è data dalle istruzioni simili a mwaqqLD H,(IX+d) che fanno uso sia del registro HL sia di IX, o di IY, nella stessa istruzione:cite-ref-undocz80-47-1[47] in questo caso il prefisso DD si applica solo alla porzione "(IX+d)" dell'istruzione.
Inoltre ci sono diverse altre istruzioni non documentate.cite-ref-48[48] Alcune di esse sono la conseguenza dei diversi progetti iniziali del chip mentre altre fanno riferimento ad aree molto esterne del mwaq4die con un elevato tasso di malfunzionamento, motivo per il quale è stato deciso di non documentarle.cite-ref-49[49]
Esecuzione delle istruzioni
Ogni istruzione è eseguita in passaggi che sono di solito indicati come cicli macchina (o M-cycles), dall'inglese "machine cycles", ognuno dei quali può richiedere da 3 a 6 cicli clock (o T-states).cite-ref-50[50] Ogni ciclo M corrisponde approssimativamente ad un accesso alla memoria e/o ad un'operazione interna. Molte istruzione terminano effettivamente durante il ciclo M1 dell'istruzione mwarksuccessiva, condizione nota come mwarofetch/execute overlap.
Esempi di istruzioni tipiche (R=mwarwread, lettura - W=mwar0write, scrittura):
| M-cycle totali | istruzione | M1 | M2 | M3 | M4 | M5 | M6 |
|---|---|---|---|---|---|---|---|
| 1 [ 51 ] | INC BC | opcode | | | | | |
| 2 [ 52 ] | ADD A,n | opcode | n | | | | |
| 3 [ 53 ] | ADD HL,DE | opcode | interno | interno | | | |
| 4 [ 54 ] | SET b,(HL) | prefisso | opcode | R(HL), set | W(HL) | | |
| 5 [ 53 ] | LD (IX+d),n | prefisso | opcode | d | n,add | W(IX+d) | |
| 6 [ 55 ] | INC (IY+d) | prefisso | opcode | d | add | R(IY+d),inc | W(IY+d) |
I cicli M dello Z80 sono gestiti da una mwaxkmacchina a stati finiti interna che costruisce ogni ciclo a partire da 3, 4, 5 o 6 cicli di clock (T-state), a seconda del contesto. Questo meccanismo evita di dovere usare un'ingombrante logica asincrona e fa sì che i segnali di controllo si comportino in modo coerente all'interno di una vasta gamma di frequenze di clock. Ciò significa anche che va usato un clock con una frequenza superiore rispetto a quello che si userebbe nella situazione in cui questa suddivisione dei cicli macchina non esistesse (approssimativamente 2-3 volte superiore).
Questo non implica però la necessità di usare una memoria con dei tempi di accesso migliori, in quanto un clock con una risoluzione più elevata permette un controllo più preciso dei timing della memoria e la stessa può essere attiva mwaxsin parallelo con la CPU per un margine più ampio (cioè registra meno mwaxwidle), permettendo un uso più efficiente delle sue mwax0prestazioni. Parlando di esecuzione delle istruzioni, lo Z80 combina 2 cicli di clock completi in un lungo periodo di accesso alla memoria (il segnale M1), che generalmente dura solo una frazione di un (più lungo) ciclo di clock, in una specie di design più asincrono (tipo il mwax4Motorola 6800 o altre CPU simili).
Le memorie erano di solito troppo lente (soprattutto quelle di tipo mwayaEPROM, ma anche le mwayeFlash) se paragonate ai sotto-cicli (i cicli di clock) delle macchine a stato finito usate nei processori contemporanei. Il ciclo macchina più breve che poteva essere usato nei progetti embedded era spesso limitato dai tempi di accesso della memoria, non dalla massima frequenza della CPU (specialmente durante l'era degli home computer). Questa relazione è però cambiata leggermente durante gli ultimi decenni, particolarmente per quanto riguarda le mwayiSRAM; senza cache, i disegni a ciclo singolo come l'eZ80 sono pertanto divenuti recentemente molto più importanti.
Periferiche compatibili
Zilog introdusse un certo numero di periferiche per lo Z80, tutte supportanti il sistema di gestione degli interrupt e lo spazio di indirizzi I/O della CPU. Queste includevano il "CTC" (mwayuCounter-Timer-Circuit), il "SIO" (mwayySerial Input Output), il "DMA" (mwaycDirect Memory Access), il "PIO" (mwaygParallel Input-Output) ed il "DART" (mwaykDual Asynchronous Receiver Transmitter). Col tempo, di questi chip furono offerte anche versioni in tecnologia mwayoCMOS, che offrivano un consumo energetico più basso unito ad una velocità superiore.
Come i processori Intel 8085 e 8086, ma non come i processori Motorola 6800 e MOS 6502, lo Zilog Z80 e l'Intel 8080 avevano per le istruzioni che riguardavano l'I/O una linea di controllo ed uno spazio d'indirizzi separati. Nonostante alcuni computer basati sullo Z80 (come l'mwaywOsborne 1) utilizzassero dei dispositivi di mway0I/O mappati in memoria, in genere lo spazio I/O era utilizzato per indirizzare uno dei molti chip periferici di Zilog compatibili con lo Z80: i chip di I/O di Zilog supportavano gli interrupt in modo 2 dello Z80 (vedi sopra), che semplificava la gestione degli stessi per un gran numero di periferiche.
Indirizzamento I/O a 16 bit "non documentato"
Lo Z80 veniva indicato ufficialmente come capace di supportare l'indirizzamento della memoria a mwaza16 bit (massimo 64 mwazekB) e l'indirizzamento I/O ad 8 bit (massimo 256 porte), ma leggendo il manuale hardware di riferimento si poteva notare come tutte le istruzioni di I/O potessero gestire l'intero mwazibus indirizzi a 16 bit: mwazmOUT (C),reg e mwazqIN reg,(C) inseriscono l'intero contenuto del registro BC nel bus indirizzi;cite-ref-56[56] mwazkOUT (n),A e mwazoIN A,(n) inseriscono il contenuto del registro A nei bit b8-b15 del bus indirizzi e di mwazsn nei bit b0-b7 del bus indirizzi. Un progettista poteva scegliere se decodificare l'intero bus indirizzi a 16 bit sulle operazioni di I/O, così da avvantaggiarsi di questa caratteristica, oppure usare i bit più alti del bus indirizzi (b8-b15) per selezionare delle sotto-caratteristiche del dispositivo di I/O. Questa peculiarità è stata usata anche per minimizzare i requisiti hardware di decodifica, come negli mwazwAmstrad CPC e nello mwaz0ZX81.
Copie su licenza, cloni e derivati
Cloni
Il mwa0eMostek MK3880 e l'mwa0iSGS-Thomson (ora mwa0mSTMicroelectronics) Z8400 erano entrambi copie ufficiali dello Z80. mwa0qSharp e mwa0uNEC svilupparono dei mwa0ycloni in tecnologia mwa0cNMOS, rispettivamente l'mwa0gLH0080 e il mwa0kµPD780C. mwa0oToshiba ne realizzò una versione mwa0sCMOS, il TMPZ84C00, che è ritenuto essere lo stesso processore dello Zilog Z84C00, anch'esso in CMOS. Ci furono anche chip Z80 realizzati da mwa0wGoldStar (poi mwa00LG), così come la serie BU18400 dei cloni Z80 (inclusi i chip DMA, PIO, CTC, DART e SIO) in tecnologia NMOS e CMOS realizzati da mwa04ROHM Electronics.
Nella Germania dell'Est comparve un clone senza licenza dello Z80, noto come mwa1aU880: fu utilizzato nei computer realizzati da mwa1eVEB Robotron e mwa1iVEB Mikroelektronik Mühlhausen, come la serie mwa1mKC 85, ma anche per computer auto-assemblati come il COMP JU+TER. In mwa1qRomania era diffuso un altro clone senza licenza, l'mwa1uMMN80CPU di mwa1yMicroelectronica, utilizzato negli home computer (quali il TIM-S, l'HC ed il COBRA).
Diversi cloni dello Z80 furono realizzati anche nell'mwa1gUnione Sovietica; uno di questi era il mwa1kT34VM1,cite-ref-cpuworld-25-1[25] chiamato anche КP1858VМ1cite-ref-urssz80clone-17-1[17] (realizzato parallelamente al clone russo dell'8080, il KR580VM80A): il primo doveva essere usato nelle serie di pre-produzione, mentre il secondo doveva essere utilizzato per le produzioni in larga scala, anche se, a causa del collasso dell'industria microelettronica sovietica di fine anni ottanta, esistono più T34VM1 che КP1858VМ1.
Derivati
Compatibili con lo Z80 originale
• mwa4uHitachi sviluppò l'mwa4yHD64180, un microcodificato e parzialmente dinamico Z80 in CMOS, con le periferiche montate su chip ed una semplice mwa4cMMU, che gestiva uno spazio indirizzi di 1 mwa4gMB. Questo chip fu poi realizzato anche da Zilog, inizialmente come Z64180 e poi come mwa4kZ180,cite-ref-57[57] che ha il protocollo del bus ed i timing adattati meglio ai chip periferici dello Z80. Zilog ha continuato a produrre lo Z180 e a migliorarlo: le nuove versioni si chiamano Z8S180/Z8L180, e hanno core pienamente statici, con bassi consumi energetici e ridotte interferenze elettromagnetiche (EMI, mwa44elimination of electromagnetic interference).cite-ref-z8s180-58-0[58]
• mwa5qToshiba sviluppò le serie di controller intelligenti Z84013/Z84C13 (a 84 pin), e Z84015/Z84C15 (a 100 pin), in pratica dei core Z80 con le sue periferiche in tecnologia NMOS e CMOS, con un mwa5utemporizzatore di supervisione, funzione di POR ("Power-On-Reset") e generatore di stati d'attesa, tutto sullo stesso chip. Essi furono fabbricati anche da mwa5ySharp. Questi processori sono oggi assemblati anche da Zilog.cite-ref-59[59]
• Lo mwa5wZilog Z380, un chip a mwa5032 bit compatibile con lo Z80, introdotto nel mwa541994, è sopravvissuto durante questi anni; è usato principalmente nei dispositivi per le telecomunicazioni.
• Lo mwa6aZilog eZ80, pienamente compatibile con lo Z80cite-ref-ez80-60-0[60] con mwa6uword di 8/16/24/32 bit ed uno spazio indirizzi lineare di 16 MB; è stato introdotto nel mwa6y2001. Esiste in diverse versioni, con mwa6cSRAM o mwa6gmemoria flash integrata, così come con le periferiche montate su chip. Una variante integra su chip un mwa6kMAC e il software a corredo include uno mwa6ostack IP. A differenza dello Z800 e dello Z280, presenta solo qualche istruzione aggiuntiva (di cui le principali riguardano i mwa6smetodi di indirizzamento e quelle per caricare i registri in memoria, con indirizzo variabile a 16/24 bit); rispetto allo Z80, esegue le istruzioni da 2 ad 11 volte più velocemente (con un valore medio di 3-5 volte). È certificato per frequenze di clock fino a 50mwa6w MHz.
• mwa64Kawasaki produsse il KL5C8400, compatibile a livello binario con lo Z80, di cui risulta mediamente 1,2-1,3 volte più veloce e può operare con clock fino a 33mwa68 MHz. Kawasaki produsse anche la famiglia KL5C80A1x, con le periferiche ed una piccola memoria RAM integrata nel chip: è efficiente approssimativamente quanto l'eZ80 e può operare fino a 10mwa7a MHz (2006).cite-ref-kawasaki-61-0[61]
• Alcune famiglie di processori multimediali del costruttore mwa7ycinese mwa7cActions Semiconductor, come l'ATJ2085 ed altri chip, contengono una MCU compatibile con lo Z80 insieme ad un processore DSP dedicato a 24 bit.cite-ref-62[62] Questi chip sono utilizzati in molti mwa7wlettori MP3 e mwa70multimediali.
Non compatibili
• La serie di microcontrollori mwa9wToshiba TLCS-900 (principalmente mwa90PROM) sono basati sullo Z80, condividendo con questo la struttura base dei registri suddivisi in BC, DE, HL, IX, IY e gran parte delle stesse istruzioni, ma non sono compatibili a livello binario, al contrario della precedente famiglia TLCS 90.cite-ref-63[63]
• La serie di microcontrollori NEC 78K è basata sullo Z80: essi condividono la stessa struttura base dei registri BC, DE, HL e istruzioni simili (ma con nomi differenti). Non sono compatibili a livello binario con lo Z80.
Parzialmente compatibili
• I microprocessori/microcontroller mwa-gRabbit Semiconductor 2000/3000/4000cite-ref-64[64] sono basati sull'architettura mwa-0HD64180/mwa-4Z180, anche se non sono pienamente compatibili a livello binario.cite-ref-65[65]
mwa-qNon più in produzione:
• L'mwa-cR800 prodotto da mwa-gASCII Corporation fu un veloce processore a 16 bit utilizzato nei computer mwa-kMSX Turbo R: era compatibile con lo Z80 a livello software ma non a livello hardware (i timing dei segnali, la disposizione ed i segnali dei pin differivano dallo Z80).
• Gli Z800, in tecnologia NMOS, e Z280, in tecnologia CMOS, furono implementazioni più veloci dello Z80 (prima dell'arrivo dell'mwa-sHD64180/mwa-wZ180), con una MMU capace di gestire uno spazio indirizzi di 16 MB; essi aggiungevano molte variazioni e modalità di indirizzamento al set di istruzioni originali dello Z80. Il primo non fu neanche messo in commercio mentre il secondo non riuscì ad imporsi a causa della sua eccessiva complessità e perché era stato progettato più per l'uso nei minicomputer che nei sistemi embedded.cite-ref-eetimes3-6-1[6]cite-ref-eetimes2-66-0[66] Per contro lo Z80 in versione CMOS era rimasto popolare, a fianco delle famiglie compatibili Z180 ed eZ80.
Versioni FPGA e ASIC
Versioni libere sono il T80cite-ref-t80-68-0[68] ed il TV80,cite-ref-69[69]cite-ref-70[70] disponibili come sorgenti VHDL e Verilog sotto una licenza in stile mwbdiBSD o mwbdmLGPL.cite-ref-71[71] La versione in VHDL, una volta sintetizzata, può essere impostata fino a 35mwbdg MHz su un FPGA Spartan II di Xilinx.cite-ref-t80-68-1[68] Per mwbd0produzioni su larga scala è comunque più conveniente utilizzare una soluzione tradizionale (o ASIC) piuttosto che un FPGA.
Emulazione software
Gli mwbeaemulatori software degli Z80 girano oggi sui moderni PC molto più velocemente di quanto facesse la CPU Z80 originale: essi sono utilizzati per mwbeesimulare gli home computer basati sullo Z80 (come l'mwbeiAmstrad CPC, l'mwbemMSX ed il mwbeqSinclair ZX Spectrum), o console come il mwbeuColecoVision, ma anche negli emulatori di mwbeyvideogiochi (come il mwbecMAME) per eseguire i vecchi mwbegarcade. Il mwbekSIMH emula il computer mwbeoMITS Altair 8800 sia con processore 8080 che Z80.
Impiego
Negli home computer
Durante la fine degli mwbe4anni settanta e i primi anni ottanta lo Z80 fu utilizzato in un gran numero di macchine da ufficio basate sul mwbe8sistema operativo mwbfaCP/M, una combinazione che dominò il mercato di quel tempo.cite-ref-72[72]cite-ref-73[73]
Due esempi di macchine da ufficio basate sul binomio Z80+CP/M furono il portatile mwbfoOsborne 1 e la serie mwbfsKaypro. mwbfwResearch Machines realizzò i microcomputer mwbf0380Z (mwbf41977) e mwbf8LINK 480Z (mwbga1981): quest'ultimo è dotato di un'interfaccia di rete proprietaria CHAIN (tipo mwbgeEthernet) per il collegamento ad una mwbgiLAN. Se sulla LAN era presente un mwbgmfile server, il computer poteva avviare da esso un sistema operativo usando il CP/NOS (una versione solo-rete del CP/M), altrimenti poteva avviare il CP/M da un disco e poi accedere ai servizi di rete tramite CP/NET. Altri costruttori di tali sistemi furono mwbgqTeleVideo, mwbguXerox (mwbgyserie 820) e un gran numero di altre società più o meno conosciute. Alcuni sistemi utilizzavano un mwbgcmultitasking software per distribuire un processo fra diversi utenti.
Il mwbgkCommodore 128 integra a fianco del mwbgoMOS 8502 un processore Z80, grazie al quale può entrare in una particolare modalità compatibile con il CP/M.cite-ref-74[74]cite-ref-75[75] Altri computer basati sul mwbhmMOS 6502 in vendita a quel tempo, come il mwbhqBBC Micro e l'mwbhuApple II,cite-ref-76[76] o basati sul mwbhoMOS 6510, come il mwbhsCommodore 64,cite-ref-77[77] possono usare lo Z80 alloggiato su un'unità esterna, una scheda aggiuntiva o una mwbiacartuccia di espansione, come la mwbieSoftCard di mwbiiMicrosoft per l'Apple II: essa era una scheda aggiuntiva particolarmente diffusa e uno dei pochi prodotti hardware realizzati da Microsoft a quel tempo.
mwbiqAcer, all'epoca mwbiuMultitech, introdusse il mwbiyMicroprofessor I nel mwbic1981, un dispositivo per l'apprendimento del mwbiglinguaggio macchina dello Z80. Nel 2019 è ancora prodotto e venduto da mwbikFlite Electronics Int. (mwbioSouthampton, mwbisInghilterra) come "Flite's MPF-1B".cite-ref-78[78] Un altro microcomputer con finalità didattiche basato sullo Z80 è l'mwbjaNBZ80 o mwbjeNanocomputer, prodotto dall'azienda italiana mwbjiSGS-ATES intorno al 1979.
Lo Z80 fu usato nella famiglia di mwbjqhome computer prodotti da mwbjuSinclair. Il mwbjySinclair ZX80 integra uno Z80 oppure lo μPD780C-1, un clone del processore prodotto da mwbjcNEC. Questo computer, presentato nel mwbjg1980, integra 1 kB di RAM e 4 kB di ROM, contenenti il mwbjksistema operativo e il mwbjolinguaggio di programmazione mwbjsSinclair BASIC. Il mwbjwSinclair ZX81, presentato nel mwbj01981, era un'evoluzione del precedente, rispetto al quale utilizza uno Z80A e integra 8 kB di memoria ROM. Come lo ZX80, anche lo ZX81 delega alla CPU Z80 la generazione del segnale video. L'erede dello ZX81 fu il mwbj4Sinclair ZX Spectrum, basato anch'esso sullo Z80A, ma con un hardware migliore: lo ZX Spectrum può infatti contare su più RAM (16 kB o 48 kB, a seconda delle versioni), un mwbj8interprete mwbkaBASIC più completo (residente su 16 kB di ROM) e grafica a colori.
I computer costruiti seguendo lo mwbkistandard MSX, sviluppato da mwbkmKazuhiko Nishi, presidente della società giapponese mwbkqASCII Corporation, erano basati su uno Z80 a 3,58mwbku MHz. L'architettura MSX deriva da quella dei computer di mwbkySpectravideo, una società americana che commercializzava dei sistemi realizzati in collaborazione proprio con ASCII Corporation. Nishi ottenne la licenza dei computer di Spectravideo e ne rivide l'hardware, creando uno standard che chiamò MSX.cite-ref-storia-79-0[79] A livello di hardware i sistemi MSX erano distribuiti con 16/64 KB di RAM, un processore grafico mwbksTMS9918 e un processore audio mwbkwAY-3-8910.
Nei sistemi embedded e nell'elettronica di consumo
Lo Zilog Z80 è stato a lungo un microprocessore molto diffuso nei mwbpgsistemi embedded e nei mwbpkmicrocontrollercite-ref-esd-32-2[32] dove è stato largamente utilizzato fino ai primi mwbp4anni 2000,cite-ref-popularity-14-1[14]cite-ref-robertson-80-0[80] sostituito dal suo successore eZ80. Di seguito sono illustrati alcuni usi dello Z80, inclusi i prodotti dell'mwbqcelettronica di consumo.
Utilizzo industriale/professionale
• Apparecchiature da ufficio (quali mwbrafax, mwbresegreterie telefoniche e mwbrifotocopiatrici) usano spesso lo Z80.
• Controller mwbrqPLC industriali utilizzano lo Z80 in moduli CPU per le funzioni ausiliarie quali l'I/O analogico, o in moduli di comunicazione.
• È anche usato in mwbryrobotica, ad esempio per il mwbrcriconoscimento vocalecite-ref-81[81] e nella mwbrwsintesi vocale (ad esempio, nel processore M8950 del 1981 di mwbr0CSELT) e in compiti di basso livello, come unità di controllo dei mwbr4servomeccanismi per selezionare e posizionare i meccanismi (anni novanta).
• I mwbsamultiplexer mwbseRS232 che collegano un gran numero di "mwbsiterminali" in vecchio stile ai minicomputer o ai mwbsmmainframe utilizzavano matrici schede Z80 CPU/SIO.
• Lo Z80 è stato usato anche nei mwbsumixer video usati nelle emittenti TV per operazioni di modifica video in mwbsysistema real-time (anni ottanta).cite-ref-82[82]
• È stato usato anche nei mwbswdischi rigidi di mwbs0Seagate Technology e di altri produttori come controller.
• I terminali per le mwbs8carte di credito delle pompe di benzina in mwbtaAmerica utilizzavano la CPU Z80 ed i chip PIO (Brevetti USA 4930665, 4962462 e 5602745).
• I processori Z80/Z180/Z380 sono stati utilizzati in apparecchiature per le mwbtutelecomunicazioni come i mwbtycommutatori telefonici ed i mwbtcmodem.
• Il mwbtkcommutatore di messaggi di mwbtoStofor, utilizzato ampiamente dalle banche e dagli agenti di borsa inglesi negli anni ottanta, era basato sullo Z80.
• Dispositivi per la mwbtwdomotica, come i controller mwbt0wireless degli impianti di annaffiatura o le reti senza fili, usano il sistema mwbt4open source N8VEM.
• Alcuni mwbuaetilometri, come l'Intoxilyzer 5000EN, utilizzano una coppia di Z80 (anni 2000).cite-ref-83[83]
Elettronica di consumo
• Diverse mwbugcalcolatrici scientifiche hanno usato lo Z80, incluse la TI-73cite-ref-84[84] (1998), la TI-81cite-ref-85[85] (1990), la TI-82cite-ref-86[86] (1993), la serie TI-83cite-ref-87[87] (1996), la serie TI-84cite-ref-88[88] (2004), la TI-85cite-ref-89[89] (1995) e la serie TI-86cite-ref-90[90] (1997) di mwbwuTexas Instruments.cite-ref-91[91]
• Tutti i lettori multimediali mwbwsS1 MP3 sono basati sul core Z80 (anni 2000).cite-ref-92[92]
• Lo Z80 è stato usato spesso anche nei videogiochi mwbxearcade,cite-ref-popularity-14-2[14] sia come CPU, sia come coprocessore audio o video. Il gioco mwbxyPac-Man (1980) utilizza un singolo Z80 come CPU.cite-ref-93[93]cite-ref-94[94] mwbx8Galaxian (1979) ed i giochi arcade come mwbyaKing & Balloon (1980) e mwbyeCheck Man (1982) che usano la scheda madre mwbyiNamco Galaxian utilizzano tutti lo Z80 come CPU principale.cite-ref-95[95] Altri giochi mwbycNamco come mwbygGalaga (1981) e quelli che utilizzano la scheda madre mwbykNamco Galaga, tra cui mwbyoBosconian (1981), mwbysDig Dug (1982), mwbywXevious (1982) e mwby0Super Xevious (1984), utilizzano 3 processori Z80 in parallelo per la CPU, la gestione della grafica e del suono.cite-ref-96[96] La mwbzischeda madre mwbzmJaleco Master System 32, utilizzata per diversi arcade, utilizza uno Z80 per la gestione del sonoro.cite-ref-97[97]
• Lo Z80 fu usato anche in alcune mwbzkconsole giochi come la mwbzoColecoVision (1982),cite-ref-98[98] il mwbz8Sega Master System (1985)cite-ref-99[99] e il mwbaqSega Game Gear (1990), come coprocessore audio nel mwbauSega Mega Drive (1988) e come controller audio e coprocessore del mwbayMotorola 68000 nel mwbacNeo Geo di mwbagSNK (1990).
• I sistemi gioco portatili mwbaoGame Boy (1989) e mwbasGame Boy Color (1998) di mwbawNintendo usavano un processore derivato dallo Z80cite-ref-manydevices-100-0[100] con un insieme di istruzioni leggermente differente (i registri indice ed il set di registri alternativi mancavano, ma erano state aggiunte le modalità di indirizzamento con incremento/decremento automatico), prodotto da mwbbeSharp Corporation. Il Game Boy Color è capace di raddoppiare il clock della CPU quando esegue software specifico per questo modello. La serie mwbbiGame Boy Advance (2001) originariamente includeva questo Z80 modificato per motivi di mwbbmretrocompatibilità, ma in seguito questa CPU fu eliminata quando fu presentato il mwbbqGame Boy Micro.
• In Russia lo Z80 e i suoi cloni furono usati largamente in telefonia nelle linee telefoniche terrestri con mwbbyCaller ID.
Strumenti musicali e altro
• Alcuni mwbecsequencer mwbegMIDI come l'mwbekE-mu mwbeo4060 Polyphonic Keyboard and Sequencer (1977)cite-ref-101[101] , lo ''Zyklus MPS'' (1988)<ref>{{cita web|url=http://www.vyla.co.uk/Zyklus_MPS_Manual.pdf|titolo=Manuale tecnico dello Zyklus MPS|accesso=18 ottobre 2010|editore=Zyklus Ltd.}}</ref> NON TROVO DOCUMENTAZIONE CIRCA LA PRESENZA DELLO Z80: TOLTO ed il mwbe8mwbfaRoland MSQ700 (1984)cite-ref-102[102], erano costruiti intorno allo Z80.
• Anche alcuni controller e commutatori MIDI, come il mwbfyWaldorf Midi-Bay MB-15, usavano lo Z80 (1990).cite-ref-103[103]
• Alcuni mwbfwsintetizzatori analogici mwbf0polifonici integravano lo Z80 come scanner della tastiera (ma anche per gestire le manopole delle impostazioni, i display e altro) e nei mwbf4convertitori D/A o nei mwbf8controlli PWM dei livelli analogici; nei sistemi più recenti è stato usato alle volte per gestire le comunicazioni tra i dispositivi MIDI. Lo Z80 è stato spesso utilizzato anche per generare il suono, implementando un mwbgaoscillatore a bassa frequenza o un mwbgesintetizzatore. Alcuni esempi sono:
• il sintetizzatore a 6 voci mwbhuMemoryMoog (1982);cite-ref-106[106]
• il sintetizzatore ad 8 voci mwbhsOberheim OB-8 (1983) con MIDI;cite-ref-vintage-105-1[105]
• il sintetizzatore ad 8 voci mwbieRoland Jupiter-8 (1981).cite-ref-107[107]
• Sintetizzatori/mwbiccampionatori digitali come lmwbig'mwbikE-MU Emulator I (1981), lmwbio'mwbisEmulator II (1984) ed il campionatore a 12 bit mwbiwAkai S700 (1987).cite-ref-108[108]
• mwbjiDrum machine come lmwbjm'mwbjqE-mu SP-12 (1985), lmwbju'mwbjyE-mu SP-1200 (1987), lmwbjc'mwbjgE-mu Drumulator (1983) ed il mwbjkDrumtraks (1984) di mwbjoSequential Circuits usavano i processori Z80.cite-ref-vintage-105-2[105]
• Molti mwbkariverberatori digitali della mwbkeLexicon di fine anni ottanta (mwbkiPCM70, mwbkmLXP15, mwbkqLXP1, mwbkuMPX100) usavano uno o più Z80 per l'interfaccia utente e l'oscilloscopio a bassa frequenza; le funzioni sul segnale digitale erano poi eseguite da hardware dedicato.
• Il preamplificatore per chitarra con controller MIDI a mwbk4valvole MESA BOOGIE Triaxis (1991) usa lo Z80.
Note
cite-note-conf-z80-11. ↑ mwbmw(mwbm0mwbm4EN) mwbm8Federico Faggin, mwbnaMasatoshi Shima, mwbneRalph Ungermann e Michael Slater (mod.), mwbnimwbnmZilog Oral History Panel on the Founding of the Company and the Development of the Z80 Microprocessor (mwbnqmwbnuPDF), mwbnyOral History of the Zilog Z80 Microprocessor, Mountain View, California, 27 aprile 2007, Mountain View, CA (United States), Computer History Museum, 2007. mwbncURL consultato il 29 agosto 2018 mwbng(archiviato dall'mwbnkurl originale il 14 febbraio 2012).
cite-note-diffusione-22. ↑ mwbn0mwbn4mwbn8Z80 class ICs, su mwboacpu-collection.de. mwboeURL consultato il 21 agosto 2010.mwboi mwboq mwbou(inglese) mwboc«It [the Z80] was widely used both in desktop and embedded computer designs as well as for defense purposes, and is one of the most popular CPUs of all time.» mwbog(italiano) «Lo Z80 fu largamente utilizzato sia sui sistemi embedded sia nella progettazione dei computer così come per impieghi militari, ed è una delle CPU più popolari di tutti i tempi.»
cite-note-usomilitare-33. ↑ mwbo8mwbpamwbpeEastern Bloc Z80, su mwbpicpu-collection.de. mwbpmURL consultato il 21 agosto 2010.mwbpq mwbpy mwbpc(inglese) mwbpk«The 880 series of East German processors are clones of Zilog Z80 processors. The U880 and UB880 are Z80 clones, the UA880 is a Z80 A equivalent and the VB880 is a Z80 version with enhanced temperature range (-25° to +85 °C) for industrial and military purposes. They were produced by Funkwerk Erfurt (FWE), later renamed to VEB Mikroelektronik "Karl Marx" in Erfurt (MME) in the 1980s.» mwbpo(italiano) «La serie 880 dei processori prodotti nella Germania dell'Est sono cloni dei processori Zilog Z80. L'U880 e l'UB880 sono cloni dello Z80, l'UA880 è un equivalente dello Z80 A ed il VB880 è una versione dello Z80 con un intervallo operativo di temperature allargato (da -25mwbpw °C a +85mwbp0 °C) destinato ad utilizzi militari ed industriali. Furono prodotti da Funkwerk Erfurt (FWE), poi rinominata in VEB Mikroelektronik "Karl Marx", con sede nella città di Erfurt (MME).»
cite-note-longley-44. ↑ mwbqemwbqiLongley, Shain,mwbqm p. 147.mwbqq mwbqy mwbqc(inglese) mwbqk«Until recently 8 bit machines were dominated by two microprocessors — the Z80 and the 6502» mwbqo(italiano) «Fino a poco tempo fa le macchine ad 8 bit furono dominate da 2 microprocessori: lo Z80 ed il 6502.»
cite-note-eetimes-55. ↑ mwbq8Jack Ganssle, mwbramwbreZilog, Redux, Redux, Redux, su mwbrieetimes.com, EE Times, 14 dicembre 2009. mwbrmURL consultato il 30 settembre 2010 mwbrq(archiviato dall'mwbruurl originale il 31 agosto 2010).mwbry mwbrg mwbrk(inglese) mwbrs«Zilog capitalized on the Z80's success with a variety of other processors, such as the ill-fated Z800 which was Z80-compatible but offered much higher performance. That part never made it to market.» mwbrw(italiano) «Zilog cercò di capitalizzare il successo dello Z80 con diversi altri processori fra cui lo sfortunato Z800, che era compatibile con lo Z80 ma offriva prestazioni più elevate. Il componente non arrivò mai sul mercato»
cite-note-eetimes3-66. ↑ mwbsmJack Ganssle, mwbsqmwbsuZilog, Redux, Redux, Redux, su mwbsyeetimes.com, EE Times, 14 dicembre 2009. mwbscURL consultato il 30 settembre 2010 mwbsg(archiviato dall'mwbskurl originale il 31 agosto 2010).mwbso mwbsw mwbs0(inglese) mwbs8«The Z280, though, went into production. Somewhat Z80-compatible it offered cache, a range of on-board peripherals, and 24 address lines. Excessively complex the part suffered from a variety of bugs that Zilog never managed to iron out. (...) Hitachi, though, upscaled the Z80 into their 64180 which had a primitive on-board MMU that extended the address bus to 20 bits. Zilog offered the part under the name Z180, and it gained substantial market share, and is also still available today.» mwbta(italiano) «Lo Z280, invece, entrò in produzione. Discretamente compatibile con lo Z80, offriva una cache e diverse periferiche integrate, oltre ad un bus indirizzi a 24 bit. Eccessivamente complesso, il processore era afflitto da diversi bug che Zilog non risolse mai. (...) Hitachi, invece, espanse lo Z80 nel suo 64180 che aveva una MMU di base integrata che estendeva il bus indirizzi a 20 bit. Zilog offrì tale processore sotto il nome di Z180, che guadagnò una discreta fetta di mercato ed è tutt'oggi ancora disponibile.»
cite-note-77. ↑ mwbtu(mwbtymwbtcEN) Benj Edwards, mwbtgmwbtkAfter 48 years, Zilog is killing the classic standalone Z80 microprocessor chip, su mwbtoArs Technica, 22 aprile 2024. mwbtsURL consultato il 24 aprile 2024.
cite-note-88. ↑ mwbt8mwbuamwbueZilog Z80, l'epico microprocessore fuori produzione dopo 48 anni, su mwbuiwired.it, 26 aprile 2024. mwbumURL consultato il 26 aprile 2024.
cite-note-faggin-1-99. ↑ mwbucmwbugFagginmwbuk mwbus mwbuw(inglese) mwbu4«Intel in those days was a memory company. Microprocessors were important only insofar as they helped sell memory chips.» mwbu8(italiano) «Intel, a quei tempi, era un produttore di memorie. I microprocessori erano importanti solo nella misura in cui aiutavano a vendere i chip di memoria.»
cite-note-faggin-2-1010. ↑ mwbvqmwbvuFagginmwbvy mwbvg mwbvk(inglese) mwbvs«I believed in microprocessors so I decided to start my own company, completely dedicated to the new business. I made that decision in the summer of 1974, a few months after the market introduction of the 8080. I finally left Intel in October 1974 and with Ralph Ungermann, one of the managers reporting to me, I started Zilog.» mwbvw(italiano) «Io credevo nei microprocessori perciò decisi di avviare una mia azienda, completamente dedicata al nuovo business. Presi questa decisione nell'estate del 1974, alcuni mesi dopo l'introduzione sul mercato dell'8080. Lasciai definitivamente Intel nell'ottobre del 1974 e, con Ralph Ungermann, uno dei manager che era sotto la mia direzione, fondai la Zilog.»
cite-note-1313. ↑ mwbxyAndre Adrian, mwbxcmwbxgZ80, the 8-bit Number Cruncher, su mwbxkandreadrian.de. mwbxoURL consultato l'11 novembre 2010.
cite-note-1515. ↑ mwbygmwbykmwbyoThe red hill CPU guide - in the beginning, su mwbysredhill.net.au, Red Hill Tech. mwbywURL consultato il 9 novembre 2010.mwby0 mwby8 mwbza(inglese) mwbzi«Zilog Z-80 - The most successful microprocessor of all time. (...) The Z-80 sold in huge quantities, and was at the heart of most of the microcomputers of the CP/M era.» mwbzm(italiano) «Lo Zilog Z80 - Il più riuscito microprocessore di tutti i tempi. (...) Lo Z80 fu venduto in grandissime quantità, e fu il cuore di molti dei microcomputer dell'era CP/M.»
cite-note-newscientist-1616. ↑ mwbzwmwbz0New Scientist (5/5/1983),mwbz4 p. 276.mwbz8 mwb0e mwb0i(inglese) mwb0q«The Japanese chips in question are the PD780 and the PD780-1. They were both introduced in 1979 and now account for 30 per cent of sales in the US of Z80-type microprocessors. Zilog accounts for another 40 per cent of sales and the rest is made up of Z80s manufactured under license from Zilog by companies like Mostek, SGS and Sharp» mwb0u(italiano) «I chip giapponesi in questione sono il PD780 ed il PD780-1. Sono stati presentati entrambi nel 1979 ed ora sono accreditati del 30% delle vendite negli USA dei microprocessori di tipo Z80. Zilog è accreditata di un altro 40% delle vendite, il resto delle quali è accreditato agli Z80 prodotti sotto licenza Zilog da società come Mostek, SGS e Sharp»
cite-note-urssz80clone-1717. ↑ mwb0wmwb00mwb04КР1858ВМ1, clone russo dello Z80mwb1e, su mwb1kchipdb.org. mwb1oURL consultato il 29 settembre 2010.
cite-note-brock-1818. ↑ mwb2amwb2eBrock,mwb2i p. 166.mwb2m mwb2u mwb2y(inglese) mwb2g«In early 1976, Zilog released the Z80, a substantial improvement over the Intel 8080 that retained full compatibility with the earlier chip.» mwb2k(italiano) «Agli inizi del 1976, Zilog presentò lo Z80, un miglioramento sostanziale dell'Intel 8080 che manteneva la piena compatibilità con il precedente chip.»
cite-note-1919. ↑ mwb24mwb28InfoWorld,mwb3a pp. 58-60.mwb3e mwb3m mwb3q(inglese) mwb3y«(...) Masatoshi Shima, who had also worked on the 4004 while at Busicom. He later designed the Z80 for Zilog (...)» mwb3c(italiano) «(...) Masatoshi Shima, che aveva anche sviluppato il 4004 mentre lavorava per la Busicom. Egli progettò in seguito lo Z80 per Zilog (...)»
cite-note-interruptmodes-2222. ↑ mwb5imwb5mChen,mwb5q p. 1943. mwb5u mwb5c mwb5g(inglese) mwb5o«(...) interrupt processing commences according to the interrupt method stipulated by the IM "i", "i"=0, 1, or 2, instruction. If "i"=1, for direct method, the PC (...) is loaded with 0038H. If "i"=0, for vectored method, (...) the interrupting device has the opportunity to place the op-code for one byte (...). If "i"=2, for indirect vector method, (...) the interrupting device must then place a byte (...). The Z80 then uses this byte (...) where one of 128 interrupt vectors can be selected by the byte (...).» mwb5s(italiano) «(...) la gestione degli interrupt inizia secondo il metodo di interrupt impostato dall'istruzione IM "i", con "i" che può assumere i valori di 0, 1 o 2. Se "i"=1, modalità diretta, allora il PC (...) viene caricato con 0038H. Se "i"=0, metodo vettorizzato, il dispositivo che chiede l'interruzione ha l'opportunità di piazzare l'op-code per 1 byte (...). Se "i"=2, modalità vettorizzata indiretta, (...) il dispositivo che chiede l'interruzione deve piazzare un byte (...). Lo Z80 usa poi questo byte (...) per selezionare uno fra i 128 vettori di interrupt (...)»
cite-note-2323. ↑ mwb6amwb6emwb6iPopular Computing, McGraw-Hill, 1983, p.mwb6m mwb6q15.
cite-note-2424. ↑ mwb6gJohn Markoff, mwb6kZilog's speedy Z80 soups up 8-bit to 16-bit performance, in mwb6oInfoWorld, InfoWorld Media Group, 18 ottobre 1982, p.mwb6s 1.
cite-note-cpuworld-2525. ↑ mwb7emwb7imwb7mFamiglia del microprocessore Zilog Z80, su mwb7qcpu-world.com. mwb7uURL consultato il 29 settembre 2010.
cite-note-2727. ↑ mwb8amwb8eZilog,mwb8i pp. 6-2.mwb8m mwb8u mwb8y(inglese) mwb8g«Q: Is the instruction set of the Z180 fully identical to the Z80 CPU's except for new instructions? A: There are three instructions which are not the same. They are: DAA and RRD/RLD.» mwb8k(italiano) «D: Il set di istruzioni dello Z180 è completamente identico a quello della CPU Z80, eccetto le nuove istruzioni? R: Ci sono tre istruzioni che non sono uguali. Esse sono: DAA e RRD/RLD.»
cite-note-2828. ↑ mwb84Jack G. Ganssle, mwb88mwb9aThe Z80 Lives!, su mwb9ez80.info, 1992. mwb9iURL consultato l'11 novembre 2010.mwb9m mwb9u mwb9y(inglese) mwb9g«The designers picked an architecture compatible with the Z80, giving Z80 users a completely software compatible upgrade path. (...) The 64180 processor runs every Z80 instruction exactly as a Z80 does.» mwb9k(italiano) «Gli sviluppatori crearono un'architettura compatibile con lo Z80, dando agli utenti dello Z80 un prodotto compatibile al 100% con lo Z80 a livello di software. (...) Il processore 64180 esegue ogni istruzione dello Z80 esattamente come farebbe uno Z80.»
cite-note-2929. ↑ mwb94mwb98Kilobaud, 1001001, 1977, p.mwb-a 22.
cite-note-shima-3131. ↑ mwb-oWilliam Aspray, mwb-smwb-wIntervista a Masatoshi Shima, su mwb-0ieeeghn.org, IEEE.org, 17 maggio 1994. mwb-4URL consultato il 14 ottobre 2010.mwb-8 mwb-e mwb-i(inglese) mwb-q«We didn't focus on mainframe computers. We focused upon office equipment like high performance printers, high-end cash registers, and intelligent terminals.» mwb-u(italiano) «Non ci focalizzammo sugli elaboratori mainframe. Ci focalizzammo sulle apparecchiature da ufficio come le stampanti ad alte prestazioni, i registratori di cassa di fascia alta ed i terminali intelligenti»
cite-note-3333. ↑ mwcaqmwcauZilog,mwcay p. 24.mwcac mwcak mwcao(inglese) mwcaw«The Z80 CPU contains a memory refresh counter, enabling dynamic memories to be used with the same ease as static memories. Seven bits of this 8-bit register are automatically incremented after each instruction fetch. The eighth bit remains as programmed, resulting from an mwca0LD R, A instruction.» mwca4(italiano) «La CPU Z80 contiene un contatore di refresh della memoria che permette di usare le memorie dinamiche con la stessa facilità delle memorie statiche. Dopo l'esecuzione di ogni istruzione vengono incrementati automaticamente 7 bit di questo registro ad 8 bit. L'ottavo bit rimane com'è stato impostato, tramite una istruzione mwcbaLD R, A.»
cite-note-3434. ↑ mwcbqmwcbumwcbyM-cycles and T-states, su mwcbcfloooh.github.io, The Brain Dump. mwcbgURL consultato il 14 gennaio 2024.
cite-note-z80-alu-3535. ↑ mwcbwKen Shirriff, mwcb0mwcb4The Z-80 has a 4-bit ALU. Here's how it works, su mwcb8righto.com, Ken Shirriff's blog. mwccaURL consultato l'8 agosto 2021.
cite-note-z80-alu-4-bit-3636. ↑ mwccqmwccumwccyElectronic – How to z80 uses a 4-bit ALU and return results in a single clock cycle, su mwcccitectec.com. mwccgURL consultato l'8 agosto 2021 mwcck(archiviato dall'mwccourl originale il 16 agosto 2021).
cite-note-z80-archi-3737. ↑ mwcc4mwcc8mwcdaZ80 CPU Architecture, su mwcdez80.info. mwcdiURL consultato l'8 agosto 2021.
cite-note-3838. ↑ mwcdyFrank Durda IV, mwcdcmwcdg8080/Z80 Instruction Set, su mwcdknemesis.lonestar.org. mwcdoURL consultato il 3 settembre 2010 mwcds(archiviato dall'mwcdwurl originale l'11 febbraio 2016).
cite-note-3939. ↑ mwceamwceeSLR Systems,mwcei p. B-2. mwcem mwceu mwcey(inglese) mwceg«"Jump" (mwcekJP) instructions, which load the program counter with a new instruction address, do not themselves access memory. Absolute and relative forms of the jump reflect this by omitting the round brackets from their operands. Register based jump instructions such as "mwceoJP (HL)" include round brackets in an apparent deviation from this convention.» mwces(italiano) «Le istruzioni di salto "Jump" (mwce0JP), che caricano nel contatore del programma l'indirizzo dove andare ad eseguire nuove istruzioni, non accedono direttamente alla memoria. Le forme assolute e relative del salto riflettono questo omettendo le parentesi tonde nei loro operandi. Le istruzioni di salto basate sui registri, come ad esempio "mwce4"JP (HL)", apparentemente non rispettano questa convenzione ed includono le parentesi tonde»
cite-note-4141. ↑ mwcgamwcgeNelson,mwcgi p. 2.mwcgm mwcgu mwcgy(inglese) mwcgg«An Intel translator program could convert 8080 assembler programs into 8086 assembler programs.» mwcgk(italiano) «Un programma Intel di traduzione poteva convertire i programmi assembler dell'8080 in programmi assembler per l'8086»
cite-note-instructions-4242. ↑ mwchamwchemwchiZ80 CPU Introduction, su mwchmz80.info, Zilog, 1995. mwchqURL consultato l'11 novembre 2010.mwchu mwchc mwchg(inglese) mwcho«It has a language of 252 root instructions and with the reserved 4 bytes as prefixes, accesses an additional 308 instructions.» mwchs(italiano) «Possiede un linguaggio con 252 istruzioni base e con i restanti 4 byte riservati come prefissi, che accedono a 308 istruzioni addizionali.»
cite-note-4343. ↑ mwciamwcieSanchez, Canton,mwcii p. 65.mwcim mwciu mwciy(inglese) mwcig«The 8-bit microprocessors that preceded the 80x86 family (such as the Intel 8080, the Zilog Z80, and the Motorola) did not include multiplication (...)» mwcik(italiano) «Nessun microprocessore ad 8 bit antecedente alla famiglia 80x86 (come l'Intel 8080, lo Zilog Z80 ed i Motorola) includeva la moltiplicazione»
cite-note-4444. ↑ mwci4mwci8mwcjaComparazione dei tempi di esecuzione delle istruzioni dello Z80 (mwcjemwcjiTXT), su mwcjmz80.info. mwcjqURL consultato il 14 ottobre 2010.
cite-note-4545. ↑ mwcjgmwcjkmwcjoOrganizzazione hardware dello Z80 - Registri indice, su mwcjsmsxarchive.nl. mwcjwURL consultato il 12 novembre 2010.mwcj0 mwcj8 mwcka(inglese) mwcki«Indexing is a facility for accessing blocks of data in the memory with a single instruction.» mwckm(italiano) «L'indicizzazione è un mezzo per accedere a blocchi di dati nella memoria con una singola istruzione.»
cite-note-undocz80-4747. ↑ mwclgJ. T. Jacco, mwclkmwcloZ80 Undocumented Instructions, su mwclsHome of the Z80 CPU. mwclwURL consultato l'11 novembre 2010.mwcl0 mwcl8 mwcma(inglese) mwcmi«If an opcode works with the registers HL, H or L then if that opcode is preceded by #DD (or #FD) it works on IX, IXH or IXL (or IY, IYH, IYL), with some exceptions. The exceptions are instructions like LD H,IXH and LD L,IYH (...)» mwcmm(italiano) «Se un opcode opera con i registri HL, H o L allora se quell'opcode è preceduto da #DD (o #FD) esso opera con IX, IXH o IXL (o IY, IYH e IYL), con alcune eccezioni. Le eccezioni sono le istruzioni quali LD, H,IXH e LD, L,IYH(...)»
cite-note-4848. ↑ mwcmgmwcmkInfoWorld 21/6/1982,mwcmo p. 23.mwcms mwcm0 mwcm4(inglese) mwcna«After the command summary are examples and two pages of undocumented Z80 operation codes.» mwcne(italiano) «Dopo il sommario dei comandi ci sono gli esempi e due pagine di codici di operazioni non documentate dello Z80»
cite-note-4949. ↑ mwcnymwcncmwcngGreat Microprocessors of the Past and Present - Part IV: The Zilog Z-80 - End of an 8-bit line (July 1976)...., su mwcnkcpushack.com, CPU Shack. mwcnoURL consultato l'11 ottobre 2015.mwcns mwcn0 mwcn4(inglese) mwcoa«Like many processors (including the 8085), the Z-80 featured many undocumented instructions. In some cases, they were a by-product of early designs (which did not trap invalid op codes, but tried to interpret them as best they could), and in other cases chip area near the edge was used for added instructions, but fabrication made the failure rate high. Instructions that often failed were just not documented, increasing chip yield. Later fabrication made these more reliable.» mwcoe(italiano) «Come molti processori (incluso l'8085) lo Z80 presentava molte istruzioni non documentate. In molti casi esse erano un sottoprodotto dei primi progetti (che non intercettavano gli opcode non validi ma cercavano di interpretarli come meglio potevano), ed in altri casi le aree del chip vicino ai bordi erano usate per delle istruzioni aggiuntive, ma la produzione dava degli elevati casi di malfunzionamenti. Le istruzioni che erano più soggette a questi malfunzionamenti semplicemente non erano documentate, incrementando la resa dei chip. Le produzioni successive le resero più affidabili.»
cite-note-511. mwcowmwco0Ciarcia,mwco4 p. 65.
cite-note-522. mwcpimwcpmZaks,mwcpq p. 200.mwcpu mwcpc mwcpg(inglese) mwcpo«ADD A, n Add accumulator with immediate data n. (...) MEMORY Timing: 2 M cycles; 7 T states.» mwcps(italiano) «ADD A,n Aggiungi all'accumulatore il successivo dato n. (....) MEMORY Timing: 2 M-cycles; 7 T-states»
cite-note-ciarcia63-533. mwcqimwcqmCiarcia,mwcqq p. 63.
cite-note-544. mwcqgmwcqkCiarcia,mwcqo p. 77.
cite-note-555. mwcq4mwcq8Ciarcia,mwcra p. 58.
cite-note-5656. ↑ mwcrqSean Young, mwcrumwcryZ80 Undocumented Features (in software behaviour) (mwcrcmwcrgTXT), su mwcrkz80.info, 1998. mwcroURL consultato l'11 novembre 2010.mwcrs mwcr0 mwcr4(inglese) mwcsa«The I/O instructions use the whole of the address bus, not just the lower 8 bits. So in fact, you can have 65536 I/O ports in a Z80 system (the Spectrum uses this). mwcseIN r,(C), mwcsiOUT (C),r and all the I/O block instructions put the whole of BC on the address bus. mwcsmIN A,(n) and mwcsqOUT (n),A put mwcsuA*256+n on the address bus.» mwcsy(italiano) «Le istruzioni di I/O utilizzano l'intero bus indirizzi, non solo gli 8 bit più bassi. Si possono infatti avere 65.536 porte di I/O in un sistema Z80 (lo Spectrum usa questa configurazione). mwcsgIN r,(C), mwcskOUT (C),r e tutte le istruzioni sui blocchi I/O inseriscono l'intero contenuto del registro BC nel bus indirizzi. mwcsoIN A,(n) e mwcssOUT (n),A inseriscono mwcswA*256+n nel bus indirizzi.»
cite-note-5757. ↑ mwctaJack G. Ganssle, mwctemwctiThe Z80 Lives!, su mwctmz80.info, 1992. mwctqURL consultato l'8 novembre 2010. mwctu mwctc mwctg(inglese) mwcto«The 64180 is a Hitachi-supplied Z80 core with numerous on-chip "extras". Zilog's version is the Z180, which is essentially the same part.» mwcts(italiano) «Il 64180 è un core Z80 sviluppato da Hitachi con numerosi "extra" integrati nel chip. La versione di Zilog è lo Z180, che è essenzialmente lo stesso componente.»
cite-note-z8s180-5858. ↑ mwcuamwcueZilog, Inc.,mwcui p. 1.mwcum mwcuu mwcuy(inglese) mwcug«The enhanced Z8S180/Z8L180 significantly improves on previous Z80180 models, while still providing full backward compatibility with existing ZiLOG Z80 devices. The Z8S180/Z8L180 now offers faster execution speeds, power-saving modes, and EMI noise reduction.» mwcuk(italiano) «L'avanzato Z8S180/Z8L180 è significativamente migliore dei precedenti modelli Z80180, mantenendo comunque sempre piena retrocompatibilità con i dispositivi Zilog Z80 esistenti. Lo Z8S180/Z8L180 offre ora una velocità di esecuzione maggiore, delle modalità di risparmio energetico e la riduzione del disturbo elettromagnetico (EMI).»
cite-note-5959. ↑ mwcu4Jack G. Ganssle, mwcu8mwcvaThe Z80 Lives!, su mwcvez80.info, 1992. mwcviURL consultato il 12 novembre 2010. mwcvm mwcvu mwcvy(inglese) mwcvg«Both Toshiba and Zilog sell the 84013 and 84015, which are Z80 cores with conventional Z80 peripherals integrated on-board.» mwcvk(italiano) «Sia Toshiba che Zilog vendono l'84013 e l'84015, che sono dei core Z80 con le periferiche convenzionali dello Z80 integrate nel chip.»
cite-note-ez80-6060. ↑ mwcv4mwcv8Zilog, Inc.,mwcwa p. 10. mwcwe mwcwm mwcwq(inglese) mwcwy«The eZ80 CPU's instruction set is a superset of the instruction sets for the Z80 and Z180 CPUs. The Z80 and Z180 programs are executed on an eZ80 CPU with little or no modification.» mwcwc(italiano) «Il set di istruzioni della CPU eZ80 è un super-insieme del set di istruzioni di quelle delle CPU Z80 e Z180. I programmi per lo Z80 e lo Z180 sono eseguiti su una CPU eZ80 con nessuna o poche modifiche.»
cite-note-kawasaki-6161. ↑ mwcwwmwcw0Cahners Asia Ltd.,mwcw4 p. 5. mwcw8 mwcxe mwcxi(inglese) mwcxq«Kawasaki's KL5C80A12, KL5C80A16 and KL5C8400 are high speed 8-bit MCUs and CPU. Their CPU code, KC80 is compatible with Zilog's Z80 at binary level. [...] KC80 executes instructions about four times faster than Z80 at the same clock rate [...]» mwcxu(italiano) «I chip Kawasaki KL5C80A12, KL5C80A16 e KL5C8400 sono MCU e CPU ad 8 bit ad alta velocità. Il codice della loro CPU, KC80, è compatibile a livello binario con quello dello Zilog Z80. (...) Il KC80 esegue le istruzioni circa 4 volte più velocemente dello Z80 alla stessa frequenza di clock (...).»
cite-note-6262. ↑ mwcxomwcxsmwcxwHardware specs, su mwcx0S1mp3.org, 2005. mwcx4URL consultato l'11 novembre 2010.
cite-note-6363. ↑ mwcyimwcymSmithsonian,mwcyq p. 16.
cite-note-6464. ↑ mwcygmwcykAxelson,mwcyo p. 93. mwcys mwcy0 mwcy4(inglese) mwcza«[...] Rabbit Semiconductor's Rabbit 3000 microprocessor, which is a much improved and enhanced derivative of Zilog, Inc.'s venerable Z80 microprocessor.» mwcze(italiano) «Il microprocessore Rabbit 3000 di Rabbit Semiconductor è una versione migliorata e potenziata del vecchio processore Z80 di Zilog, Inc.»
cite-note-6565. ↑ mwczymwczcHyder, Perrin,mwczg p. 32.mwczk mwczs mwczw(inglese) mwcz4«The Rabbit parts are based closely on the Zilog Z180 architecture, although they are not binary compatible with the Zilog parts.» mwcz8(italiano) «I prodotti di Rabbit sono strettamente basati sull'architettura Zilog Z180 anche se non sono compatibili a livello binario con i prodotti Zilog.»
cite-note-eetimes2-6666. ↑ mwcaqJack Ganssle, mwcaumwcayZiLOG, Redux, Redux, Redux, su mwcaceetimes.com, EETimes, 14 dicembre 2009. mwcagURL consultato il 14 ottobre 2010 mwcak(archiviato dall'mwcaourl originale il 31 agosto 2010). mwcas mwca0 mwca4(inglese) mwcba«The Z280, though, went into production. Somewhat Z80-compatible it offered cache, a range of on-board peripherals, and 24 address lines. Excessively complex the part suffered from a variety of bugs that ZiLOG never managed to iron out.» mwcbe(italiano) «Lo Z280, invece, entrò in produzione. Compatibile con lo Z80, offriva una cache ed un insieme di periferiche integrate ed un bus indirizzi a 24 bit. Eccessivamente complesso, il prodotto era afflitto da diversi bug che Zilog non risolse mai.»
cite-note-6767. ↑ mwcbymwcbcmwcbgCZ80CPU - 8-bit Microprocessor Core, su mwcbkCast. mwcboURL consultato l'11 novembre 2010 mwcbs(archiviato dall'mwcbwurl originale il 10 marzo 2010).
cite-note-t80-6868. ↑ mwccimwccmmwccqT80 cpumwccu :: Overview, su mwccyopencores.org. mwcccURL consultato l'8 novembre 2010.
cite-note-6969. ↑ mwccsmwccwmwcc0TV80mwcc4 :: Overview, su mwcc8opencores.org. mwcdaURL consultato l'8 novembre 2010.
cite-note-7070. ↑ mwcdqmwcdumwcdyTV 80 Home Page, su mwcdcghutchis.googlepages.com. mwcdgURL consultato l'11 novembre 2010 mwcdk(archiviato dall'mwcdourl originale il 26 dicembre 2008).
cite-note-7171. ↑ mwcd4mwcd8mwceaFAQmwcee :: OpenCores, su mwceiopencores.org. mwcemURL consultato l'8 novembre 2010.
cite-note-7373. ↑ mwcfumwcfyInfoWorld 10/5/1982,mwcfc p. 20.mwcfg mwcfo mwcfs(inglese) mwcf0«The idea of a generic operating system is still in its infancy. In many ways it begins with CP/M and the mishmash of early 8080 and Z80 computers.» mwcf4(italiano) «L'idea di un sistema operativo generico è ancora nelle sue prime fasi. Essa si evolve per la maggior parte dal CP/M e dal miscuglio dei primi computer 8080 e Z80.»
cite-note-7474. ↑ mwcgmmwcgqmwcguCommodore 128 assembly programming - Z80 CPU, su mwcgycommodore64.se. mwcgcURL consultato l'11 novembre 2010 mwcgg(archiviato dall'mwcgkurl originale l'11 agosto 2010).mwcgo mwcgw mwcg0(inglese) mwcg8«In addition to the 8502 CPU, the C128 also contains a Z80 CPU. The Z80 is used in CP/M mode (...)» mwcha(italiano) «In aggiunta alla CPU 8502, il C128 contiene anche una CPU Z80. Lo Z80 è usato in modalità CP/M (...)»
cite-note-7575. ↑ mwchumwchyCommodore Business Machines,mwchc p. 486.mwchg mwcho mwchs(inglese) mwch0«The Commodore 128 computer is a two-processor system, with the 8502 as the primary processor and the Z80 as secondary processor. (...) The Z80's primary function is to run CP/M 3.0.» mwch4(italiano) «Il computer Commodore 128 è un sistema biprocessore, con l'8502 come processore principale e lo Z80 come processore secondario. (...) La funzione primaria dello Z80 è quella di far girare il CP/M 3.0.»
cite-note-7676. ↑ mwcimmwciqInfoWorld (06/02/1984),mwciu p. 64.mwciy mwcig mwcik(inglese) mwcis«Several manufacturers, however, make Z80 coprocessor boards that plug into the Apple II.» mwciw(italiano) «Svariati costruttori, comunque, realizzano delle schede con lo Z80 come coprocessore che possono essere inserite all'interno dell'Apple II.»
cite-note-7777. ↑ mwcjemwcjiPopular Computing, McGraw-Hill, 1986, p.mwcjm 22.mwcjq mwcjy mwcjc(inglese) mwcjk«The Commodore 64 CP/M package contains a plug-in cartridge with a Z80 microprocessor and the CP/M operating system on a disk.» mwcjo(italiano) «Il pacchetto CP/M per il Commodore 64 contiene una scheda aggiuntiva con un microprocessore Z80 ed un dischetto con il sistema operativo CP/M»
cite-note-7878. ↑ mwcj8mwckamwckeFlite's MPF-1B (Microprofessor Training System), su mwckiflite.co.uk, Flite Electronics International Limited. mwckmURL consultato il 1º ottobre 2010 mwckq(archiviato dall'mwckuurl originale il 9 maggio 2008).
cite-note-storia-7979. ↑ mwckkRoger Samdal, mwckomwcksStoria di SpectraVision, su mwckwsamdal.com. mwck0URL consultato il 13 gennaio 2013.mwck4 mwcla«L'SV-318/328 era frutto della collaborazione dell'americana Spectravideo (management e marketing), della Bondwell di Hong Kong (assemblaggio) e della giapponese ASCII Corporation (software di sistema). ASCII era all'epoca anche la rappresentativa di Microsoft in Giappone. Il presidente di ASCII Kazuhiko Nishi (noto anche come Kay Nishi) vide le potenzialità dei computer di Spectravideo. Volle realizzare uno standard mondiale per degli home computer derivandolo dal progetto dell'SV-328, chiamato lo standard MSX. Spectravideo accettò e ASCII apportò delle piccole modifiche al progetto.» mwcle(Roger Samdal)
cite-note-8383. ↑ mwcmcNate Anderson, mwcmgmwcmkSource code requests force breathalyzer maker to sober up, su mwcmoArs Technica, 15 settembre 2008. mwcmsURL consultato l'11 novembre 2010. mwcmw mwcm4 mwcm8(inglese) mwcne«The Intoxilyzer 5000EN, a breathalyzer [...], runs on a pair of Z80 processors.» mwcni(italiano) «L'Intoxilyzer 5000EN, un etilometro (...), funziona con un paio di processori Z80.»
cite-note-8484. ↑ mwcncmwcngmwcnkTI-73, su mwcnoticalc.org. mwcnsURL consultato l'8 novembre 2010.
cite-note-8585. ↑ mwcn8mwcoamwcoeTI-81, su mwcoiticalc.org. mwcomURL consultato l'8 novembre 2010.
cite-note-8686. ↑ mwcocmwcogmwcokTI-82, su mwcooticalc.org. mwcosURL consultato l'8 novembre 2010.
cite-note-8787. ↑ mwco8mwcpamwcpeTI-83, su mwcpiticalc.org. mwcpmURL consultato l'8 novembre 2010.
cite-note-8888. ↑ mwcpcmwcpgmwcpkTI 84 Plus, su mwcpoticalc.org. mwcpsURL consultato l'8 novembre 2010.
cite-note-8989. ↑ mwcp8mwcqamwcqeTI-85, su mwcqiticalc.org. mwcqmURL consultato l'8 novembre 2010.
cite-note-9090. ↑ mwcqcmwcqgmwcqkTI-86, su mwcqoticalc.org. mwcqsURL consultato l'8 novembre 2010.
cite-note-9191. ↑ mwcq8Robert Campbell, mwcramwcreTI-82/83/85/86 Mathematics Use, su mwcrimath.umbc.edu, UMBC, 2001. mwcrmURL consultato l'11 novembre 2010.
cite-note-9292. ↑ mwcrcmwcrgMiesenberg,mwcrk p. 556.
cite-note-9494. ↑ mwcsmmwcsqNitsche,mwcsu p. 26. mwcsy mwcsg mwcsk(inglese) mwcss«[...] they would not realize the fundamental logical difference between a version of Pac-Man (Iwatani 1980) running on the original Z80 [...]» mwcsw(italiano) «(...) essi non capirono la fondamentale differenza nella logica fra la versione del Pac-Man (Iwatani 1980) che girava sull'originale Z80 (...)»
cite-note-9797. ↑ mwct0mwct4mwct8F1 Super Battle (arcade) - Sound CPU: Z80mwcui, su mwcuoarcadehits.net, ArcadeHits. mwcusURL consultato il 1º ottobre 2010.
cite-note-9898. ↑ mwcu8mwcvaInfoWorld (20/12/1982),mwcve p. 33. mwcvi mwcvq mwcvu(inglese) mwcvc«The ColecoVision uses the Z80 microprocessor.» mwcvg(italiano) «Il ColecoVision utilizza il microprocessore Z80.»
cite-note-9999. ↑ mwcv0mwcv4Sánchez-Crespo Dalmau,mwcv8 p. 14.mwcwa mwcwi mwcwm(inglese) mwcwu«Internally, both the NES and Master System were equipped with 8-bit processors (a 6502 and a Zilog Z80, respectively).» mwcwy(italiano) «Internamente sia il NES che il Master System erano equipaggiati con processori ad 8 bit (rispettivamente un 6502 ed uno Zilog Z80).»
cite-note-manydevices-100100. ↑ mwcwsmwcwwFrand, Yarusso,mwcw0 p. 182. mwcw4 mwcxa mwcxe(inglese) mwcxm«This first Game Boy operated on four AA batteries and was equipped with a Zilog Z80 microprocessor - the same processor used on many electronic devices in the 1980s. In fact, all the Game Boy models up to and including the Game Boy Color featured a Z80 CPU.» mwcxq(italiano) «Il primo Game Boy era alimentato con 4 batterie AA ed era equipaggiato con un microprocessore Zilog Z80 - lo stesso processore utilizzato su molti dispositivi degli anni ottanta. Infatti, tutti i modelli del Game Boy fino al Game Boy Color incluso utilizzavano una CPU Z80.»
cite-note-101101. ↑ mwcxkRob Keeble, mwcxomwcxsThe history of Emu Systems, su mwcxwmedia.mit.edu. mwcx0URL consultato il 18 ottobre 2010 mwcx4(archiviato dall'mwcx8url originale il 24 giugno 2010). mwcya mwcyi mwcym(inglese) mwcyu«(...) the Z80 became the basis for Emu products for the next 10 years.» mwcyy(italiano) «Lo Z80 divenne la base dei prodotti Emu per i successivi 10 anni.»
cite-note-102102. ↑ mwcysmwcywmwcy0AM MSQ700 Nexus - MIDI Sequencer, su mwcy4emulatorarchive.com, The Emulator Archive. mwcy8URL consultato il 12 novembre 2010.mwcza mwczi mwczm(inglese) mwczu«The MSQ700 is a very reliable and robust design which will survive for decades. It based around a Z80 micro-processor.» mwczy(italiano) «L'MSQ700 è un prodotto robusto e molto affidabile che può durare per decenni. Era basato su un microprocessore Z80.»
cite-note-103103. ↑ mwczsmwczwmwcz0Waldorf Midi-Bay MB-15, su mwcz4till-kopper.de. mwcz8URL consultato il 18 ottobre 2010.
cite-note-104104. ↑ mwc0mGordon Reid, mwc0qmwc0uThe Prophet 5 and Prophet 10, su mwc0ygordonreid.co.uk, 1999. mwc0cURL consultato l'11 novembre 2010 mwc0g(archiviato dall'mwc0kurl originale l'8 agosto 2002). mwc0o mwc0w mwc00(inglese) mwc08«Although the Prophet 5s and Prophet 10s incorporated Z80 microprocessors, [...]» mwc1a(italiano) «Anche se i Prophet 5 ed i prophet 10 incorporavano dei microprocessori Z80, (...)»
cite-note-vintage-105105. ↑ mwc1kmwc1omwc1sElenco dei sintetizzatori del passato, su mwc1wvintagesynth.com, Vintage Synth. mwc10URL consultato il 18 ottobre 2010.
cite-note-106106. ↑ mwc2emwc2imwc2mAbout MemoryMoog, su mwc2qMoog MemoryMoog User Group. mwc2uURL consultato l'11 novembre 2010. mwc2y mwc2g mwc2k(inglese) mwc2s«CPU is Z80 + Z80CTC.» mwc2w(italiano) «La CPU è uno Z80 più uno Z80CTC.»
cite-note-107107. ↑ mwc3emwc3imwc3mThe Roland Jupiter 8 Analog Synthesizer, su mwc3qsynthtopia.com, Synthtopia, 6 marzo 2009. mwc3uURL consultato il 18 ottobre 2010. mwc3y mwc3g mwc3k(inglese) mwc3s«A Z80 CPU was used for managing storage of patches, scanning the keyboard, display, and buttons, port handling, and taking care of the auto-tune function among other things.» mwc3w(italiano) «Una CPU Z80 era usata, tra le altre cose, per gestire la memorizzazione delle patch, per la scansione della tastiera, per il display, i pulsanti, la gestione delle porte e la funzione di auto-tune.»
cite-note-108108. ↑ mwc4emwc4imwc4mAkai S700, su mwc4qreviews.harmony-central.com, Harmony Central. mwc4uURL consultato il 18 ottobre 2010 mwc4y(archiviato dall'mwc4curl originale il 31 marzo 2008).
cite-note-109109. ↑ mwc4smwc4wmwc40Schemi dell'ADA MP-1 (mwc44mwc48ZIP), su mwc5ausers.skynet.be. mwc5eURL consultato l'8 novembre 2010 mwc5i(archiviato dall'mwc5murl originale il 4 febbraio 2007).
Bibliografia
Testi
• mwc5wMicroprocessori, Gruppo Editoriale Jackson, 1988, pp. 85-120, ISBN 88-256-0068-2.
• citerefzaksRodnay Zaks, Programmazione dello Z80, Gruppo Editoriale Jackson, 1981.
• mwc58Lance A. Leventhal, Z80 - Programmazione in linguaggio Assembly, Gruppo Editoriale Jackson, 1981.
• mwc6eAdam Osborne, Jerry Kane, Russell Rector, Susanna Jacobson, Programmazione dello Z80 e progettazione logica, Gruppo Editoriale Jackson, 1981.
• mwc6mElizabeth A. Nichols, Joseph C. Nichols, Peter R. Rony, Il Nanobook Z-80, Jackson Italiana Editrice, 1979.
• mwc6uPatrizio Sesto Rubino, Giuseppe Pranzo Zaccaria, Il nuovo manuale Z80, Editrice Il Rostro, 1982. mwc6cISBN non esistente
• mwc6k(EN) Zilog Components Data Book, Zilog, 1985. mwc6oISBN non esistente
• mwc6w(EN) Zilog Z-80 Data Book (PDF), Zilog, 1978. URL consultato il 20 luglio 2009 (archiviato dall'url originale il 18 ottobre 2010). mwc60ISBN non esistente
• citerefanderson(EN) Alexander John Anderson, Foundations of Computer Technology, 1ª ed., CRC Press,, 8 settembre 1994, ISBN 0-412-59810-8.
• citerefartwick(EN) Bruce A. Artwick, Microcomputer interfacing, Prentice-Hall, 1980, ISBN 978-0-13-580902-0.
• citerefaxelson(EN) Jan Axelson, Embedded ethernet and internet complete, Lakeview research, 2003, ISBN 978-1-931448-00-0.
• citerefbalch(EN) Mark Balch, Digital Fundamentals, in Complete Digital Design: A Comprehensive Guide to Digital Electronics and Computer System Architecture, McGraw-Hill Professional, 2003, ISBN 0-07-140927-0.
• citerefbrock(EN) Gerald W. Brock, The second information revolution, Harvard University Press, 2003, ISBN 978-0-674-01178-6.
• citerefchen(EN) Wai-Kai Chen, 61.4 - Microprocessor Based Degins: Interfacing, in The circuits and filters handbook, 2ª ed., CRC Press, 2002, ISBN 978-0-8493-0912-0.
• citerefciarcia(EN) Steve Ciarcia, Build your own Z80 computer: design guidelines and application notes, BYTE, ottobre 1981, ISBN 0-07-010962-1.
• citerefc128(EN) Commodore Business Machines, Commodore 128: Programmer's Reference Guide, Bantam Books, 1986, ISBN 978-0-553-34292-5.
• citerefdalmau(EN) Daniel Sánchez-Crespo Dalmau, Core techniques and algorithms in game programming, New Riders, 2004, ISBN 978-0-13-102009-2.
• citereffroehlich(EN) Robert A. Froehlich, Free software catalog and direct, Crown Publishers, 1984, ISBN 978-0-517-55448-7.
• citereffrand(EN) Joe Grand et al., Game console hacking: Xbox, PlayStation, Nintendo, Game Boy, Atari, & Sega, Syngress, 2004, ISBN 978-1-931836-31-9.
• citerefesd(EN) Steve Heath, Embedded systems design, 2ª ed., Newnes, dicembre 2002, ISBN 978-0-7506-5546-0.
• citerefchapman(EN) Herman Holtz, Computer work stations - A Manager's Guide to Office Automation and Multi-User Systems, Chapman and Hall, 1985, ISBN 978-0-412-00491-9.
• citerefhyder(EN) Kamal Hyder, Bob Perrin, Embedded systems design using the Rabbit 30000 microprocessor, Newnes, 2004, ISBN 978-0-7506-7872-8.
• citereflongley(EN) Dennis Longley, Michael Shain, Expanding and networking microcomputers: the complete and up to date guide to over 600 boards for Apple and IBM PCs, MacMillan Press, 1985, ISBN 978-0-333-38006-2.
• citerefmathur(EN) Aditya P. Mathur, Introduction to Microprocessors, 3ª ed., McGraw Hill, 1990, ISBN 978-0-07-460222-5.
• citerefmeystel(EN) Alex Meystel, Autonomous mobile robots: vehicles with cognitive control, World Scientific, 1991, ISBN 978-9971-5-0089-4.
• citerefmiesenberg(EN) Klaus Miesenberger, Computers Helping People with Special Needs, Springer-Verlag, 2008, ISBN 978-3-540-70539-0.
• citerefross(EN) Ross P. Nelson, The 80386 book: assembly language programmer's guide for the 80386, Microsoft Press, 1989, ISBN 978-1-55615-138-5.
• citerefnitsche(EN) Michael Nitsche, Games and Rules, in Video Game Spaces: Image, Play, and Structure in 3D Worlds, MIT Press, 2009, ISBN 0-262-14101-9.
• citerefsanchez(EN) Julio Sanchez, Maria P. Canton, Software solutions for engineers and scientists, CRC Press, 2008, ISBN 978-1-4200-4302-0.
• citerefscanlon(EN) Leo J. Scanlon, 8086/8088/80286 assembly language, Brady Books, 1978, ISBN 978-0-13-246919-7.
• citerefrobertson(EN) Ian R. Sinclair, Practical electronics handbook, 5ª ed., Newnes, 2000, ISBN 978-0-7506-4585-0.
• citerefcahners(EN) Electronic Business Asia, Cahners Asia Limited, 1997. mwc8kISBN non esistente
Pubblicazioni
• citerefinfoworld-29111982(EN) History of the 8-bit: travelling far in a short time, in InfoWorld, vol. 4, n. 47, InfoWorld Media Group, 29 novembre 1982, pp. 58-60, ISSN 0199-6649.
• citereffaggin(EN) Federico Faggin, The Birth of the Microprocessor - My Recollections, intel4004.com, 15 ottobre 2001. URL consultato il 4 ottobre 2010.
• citerefz180faq(EN) Zilog, Z180 Family Questions and Answers (PDF), marzo 1994. URL consultato il 9 novembre 2010 (archiviato dall'url originale il 5 gennaio 2009).
• citerefz80pdf(EN) Zilog, Zilog product specification - Z8400/Z84C00 NMOS/CMOS Z80 CPU Central Processing Unit (PDF), Z80.info. URL consultato il 21 agosto 2010.
• citerefum0080(EN) Zilog, Z80 Family CPU User Manual (PDF), 2005.
• citerefz80asm(EN) SLR Systems, Z80 Relocating Macro Assembler User's Guide (PDF), 1984 (archiviato dall'url originale il 20 luglio 2011).
• citerefinfoworld-21061982(EN) InfoWorld Media Group, Macro-Mon, an advanced monitor for the TSR-80, in InfoWorld, vol. 4, n. 24, 21 giugno 1982.
• citerefsmithsonian(EN) Smithsonian, Section 6 MOS MPU, MCU, and Peripherals Market Trends (PDF).
• citerefinfoworld-10051982(EN) John C. Dvorak, After CP/M, object oriented operating systems may lead the field, in InfoWorld, vol. 4, n. 18, InfoWorld Media Group, 10 maggio 1982.
• citerefinfoworld-06021984(EN) Marty Petersen, Review: Premium Softcard IIe, in InfoWorld, vol. 6, n. 6, InfoWorld Media Group, 6 febbraio 1984.
• citerefmidway(EN) Midway Games, Game Board Schematic (PDF), in Midway Pac-Man Parts and Operating Manual, dicembre 1980. URL consultato il 9 novembre 2010.
• citerefgalaxian(EN) Midway Games, Game Logic Schematic (PDF), in Midway Galaxian Parts and Operating Manual, febbraio 1980. URL consultato il 9 novembre 2010.
• citerefgalaga(EN) Midway Games, Schematics and Wiring Diagrams (PDF), in Midway Galaga Parts and Operating Manual, ottobre 1981. URL consultato il 9 novembre 2010.
• citerefinfoworld-20121982(EN) Electronic Christmas, Zappy New Year, in InfoWorld, vol. 4, n. 50, InfoWorld, 20 dicembre 1982.
• citerefnewscientist(EN) Japanes computer firms in court again, in New Scientist, Reed Business Information Ltd, 5 maggio 1983. URL consultato il 9 novembre 2010.
• citerefz8s180(EN) Zilog, Inc., Zilog Z8S180/Z8L180 (PDF), 2000. URL consultato il 12 novembre 2010.
• citerefez80(EN) Zilog, Inc., eZ80 CPU User Manual (PDF), 2008. URL consultato il 12 novembre 2010.
Articoli sull'architettura dello Z80
• mwc-e(EN) A. El-Hajj, K.Y. Kabalan; M. Mneimneh; F. Karablieh, Microprocessor simulation and program assembling using spreadsheets, in Simulation, vol. 75, n. 2, agosto 2000, pp. 82-90, DOI:10.1119/1.14604.
• mwc-q(EN) K. Nagasawa, K. Taki; H. Tamemoto; B.Y. Lee; H. Tanaka; S. Imai; Y. Kajikawa; D. Azuma, Design and evaluation for super low power Z80 with pass-transistor logic, in Sharp Technical Journal, vol. 67, aprile 1997, pp. 35-40.
• mwc-c(EN) W. Lunscher, Semaphore Strategy For Z80, in IEEE Micro, vol. 5, n. 3, IEEE, 1985, p. 4, DOI:10.1109/MM.1985.304535.
• mwc-k(EN) M. Smith, B.E. Luff, Automatic Assembler Source Translation From The Z80 To The Mc6809, in IEEE Micro, vol. 4, n. 2, IEEE, 1984, pp. 3-9, DOI:10.1109/MM.1984.291314.
Impieghi didattici
• mwc-4(EN) H.B. Diab, I. Demashkieh, A computer-aided teaching package for microprocessor systems education, in IEEE Transactions on Education, vol. 34, n. 2, IEEE, maggio 1991, pp. 179-183, DOI:10.1109/13.81598.
• mwc-e(EN) M.H. Nehrir, A.J. Odermann; B.D. Bowen, A microcomputer-microprocessor-based DC motor speed controller for undergraduate electric machinery laboratory, in IEEE Transactions on Education, vol. 33, n. 4, IEEE, novembre 1990, pp. 341-345, DOI:10.1109/13.61087.
• mwc-q(EN) C. D. Spencer, P. F. Seligmann, Microcomputers as digital electronics, in American Journal of Physics, vol. 54, n. 5, AAPT, maggio 1986, pp. 411-415, DOI:10.1119/1.14604. URL consultato il 3 settembre 2010 (archiviato dall'url originale il 23 febbraio 2013).
• mwc-c(EN) Trevor N. Mudge, Gregory D. Buzzard, Teaching Assembly Language Programming With ZIP, A Z80 Assembly Language Interpreter Program, in IEEE Transactions on Education, vol. 26, n. 3, IEEE, 1983, pp. 91-98, DOI:10.1109/TE.1983.4321615.
• Sistema mwc-oMicroprofessor I con Z80, con corso e manuali di apprendimento.
Applicazioni scientifiche
• mwc-4(EN) F.O. Otieno, B.O. Kola; F. N. Onyango, On-line determination of thermophysical properties in an absorption calorimeter, in Measurement Science & Technology, vol. 8, n. 3, IOP, marzo 1997, pp. 239-244, DOI:10.1088/0957-0233/8/3/004.
• mwdae(EN) S. Altieri, F. Fossati; A. Lanza; T. Pinelli, An Automated-System to Control the Polarization Voltage of Silicon Detectors, in IEEE Transactions on Nuclear Science, vol. 42, n. 2, IEEE, aprile 1995, pp. 57-60, DOI:10.1109/23.372132.
• mwdaq(EN) F.M. Xiao, S. Li, A Front-End Data Acquisition-System for Mossbauer-Spectroscopy, in Hyperfine Interactions, vol. 71, Springer Netherlands, 1992, pp. 1531-1534, DOI:10.1007/BF02397372.
• mwdak(EN) T. Brenner, S. Buttgenbach; T. Fabula; W. Rupprecht, Real-time data acquisition system for laser and radio frequency spectroscopy, in J. Phys. E: Sci. Instrum., vol. 21, IOP, 1988, pp. 1150-1153, DOI:10.1088/0022-3735/21/12/005.
• mwdaw(EN) P.M. Kennedy, Z.H. Stachurski, A novel semi-contact extensometer based on Z80 microprocessor, in J. Phys. E: Sci. Instrum., vol. 19, IOP, 1986, pp. 115-118, DOI:10.1088/0022-3735/19/2/003.
• mwda8(EN) L. Thomas, W. Bunn; S. Woodward; T. Baer, Design and operation of a 12.5-ns multichannel scaler, in Review of Scientific Instruments, vol. 55, n. 11, AIP, novembre 1984, pp. 1849-1853, DOI:10.1063/1.1137678. URL consultato il 3 settembre 2010 (archiviato dall'url originale il 23 febbraio 2013).
• mwdbi(EN) K. L. Sala, R. LeSage; R. W. Yip, S-100/Z80 microprocessor-based scanning microdensitometer and signal processing system, in Review of Scientific Instruments, vol. 53, n. 11, AIP, novembre 1982, pp. 1682-1684, DOI:10.1063/1.1136870. URL consultato il 3 settembre 2010 (archiviato dall'url originale il 23 febbraio 2013).
Voci correlate
Altri progetti
Altri progetti
• Wikimedia Commons
• Wikimedia Commons contiene immagini o altri file sullo Zilog Z80
Collegamenti esterni
• citerefopen-library(EN) Opere riguardanti Zilog Z-80 (Microprocessor), su Open Library, Internet Archive.
• citereffoldoc(EN) Denis Howe, Zilog Z80, in Free On-line Dictionary of Computing. Disponibile con licenza mwdcyGFDL
• mwdcgFamiglia dei prodotti Zilog Z80 - dal sito ufficiale di Zilog
• mwdcoZ80-Family Pagina di supporto ufficiale – creata da Thomas Scherrer, mantenuta da Gaby Chaudry
• mwdcwEmulatori software per Z80 – elenco presente sul sito Zophar's Domain
• mwdc4YAZE-AG (mwdc8Yet Another Z80 Emulator by AG) – emulatore per Unix(Solaris), Linux, FreeBSD, Macintosh e Windows
• mwddeDEEDS – Suite di simulatori per la progettazione digitale ad uso didattico – simula anche sistemi a microprocessore basati sul DMC8 (CPU a 8 bit derivata dallo Z80); esporta i progetti in VHDL e su FPGA (liberamente scaricabile)
• mwddmFlite Electronics - Costruttore del sistema didattico per Z80 mwddqMicroprofessor I
• Core gratuito della CPU Z80 in mwddycodice VHDL oppure in mwddccodice Verilog – da OpenCores.org
• mwddkTutte le caratteristiche non documentate dello Z80 – creato da Sean Young (su mwddohttp://www.myquest.nl/z80undocumented/)
• mwddwSBC N8VEM, su uelectronics.info. URL consultato il 3 settembre 2010 (archiviato dall'url originale il 31 gennaio 2010).
• mwdd4V6Z80P - Moderno home computer con lo Z80 come processore, su retroleum.co.uk. URL consultato il 10 novembre 2010 (archiviato dall'url originale il 10 novembre 2010).
• mwdeaLista degli opcode dello Z80 - da mdfs.net
• mwdeiMostek Z80 Manuale tecnico del processore – manuale completo
• mwdeqManuale di riferimento dello Z80 con la descrizione delle istruzioni del processore (PDF), su zilog.com.
• mwdeyManuale di riferimento delle periferiche dello Z80 (PDF), su zilog.com.
• mwdegZED Computer - Single Board Computer, su youtube.com.